ArcGIS Server runs and manages GIS services using the ArcGIS REST API. You can also use the REST API to script administration tasks in your server site. Scripting your server administration allows you to automatically execute common tasks at scheduled times. It also reduces the chance of making mistakes when performing a complicated or repetitive task.
The ArcGIS Server command line utilities and the ArcPy site package provide additional options for scripting server administration. Each is described below.
ArcGIS REST API and its relationship to ArcGIS Server
ArcGIS REST API allows you to work with ArcGIS services and administer your ArcGIS Server site. The REST API includes resources and operations for administering an ArcGIS Server site. Through the REST API, you can invoke every administrative task that ArcGIS Server supports.
The REST API can be invoked from any language that can make a web service call, such as Python, Java, JavaScript, PowerShell, C#, Ruby, Scala, Perl, and others. Examples provided in this help use Python. You do not need any Esri software installed to run a script that uses the REST API.
Here's a sample of the many server administration tasks that you can do programmatically through the REST API:
- Create a site after installing ArcGIS Server silently.
- Add services.
- Edit properties of services, such as the maximum number of instances.
- Grant and revoke user permissions on services.
- Stop and start services.
- Query the logs and create usage reports from them.
Learn more about scripting server administration with the ArcGIS REST API
ArcGIS API for Python
You can use the gis.admin module of ArcGIS API for Python to assist with and automate administrative tasks in ArcGIS Server. Among these tasks are verifying the status of servers, resetting passwords, and federating or unfederating a server from an ArcGIS Enterprise portal.
Learn more about ArcGIS API for Python
ArcGIS Server command line utilities
ArcGIS Server includes some scriptable utilities that allow you to administer the server from batch files or the operating system command line. For basic actions such as starting services and building caches, using these utilities may be easier than writing a script from scratch.
Learn more about administering ArcGIS Server with command line utilities
ArcPy functions for publishing services and registering data locations
The ArcPy Python site package offers functions for publishing services to ArcGIS Server, working with service definition (SD) files, and registering folders and databases with an ArcGIS Server site. ArcPy can be used to script administrative tasks involving service publishing. It can also analyze map documents and report errors and warnings related to the map's use with ArcGIS Server.