Secuencias de comandos con ArcGIS 10.1 for Server Administrator API

ArcGIS 10.1 for Server es administrado totalmente a través las solicitudes de servicio Web de RESTful para la API del Administrador. (Incluso cuando utilice el Administrador de ArcGIS 10.1 for Server para administrar su servidor, las peticiones a las API de Administrador se están realizando en el destino final.) Para escribir secuencias de comandos que administren ArcGIS 10.1 for Server, debe elegir un lenguaje de secuencia de comandos que permita construir las direcciones URL, realizar solicitudes de HTTP, y analizar las respuestas de HTTP. Los ejemplos en este sistema de ayuda utilizan Python.

Es importante tener en cuenta que la API de ArcGIS 10.1 for Server utilizando Administrador no requiere ningún software de Esri en el equipo en que se ejecute la secuencia de comandos. Todo lo que necesita es un entorno en el que pueda realizar solicitudes de HTTP a su servidor SIG.

Comenzar con la API de Administrador de ArcGIS 10.1 for Server

Para utilizar la API de Administrador, cree una solicitud HTTP para la operación desea realizar e incluy los paarámetros requeridos para esa operación. Por ejemplo, la siguiente solicitud HTTP conecta un nuevo equipo a su sitio:

http://MyServer:6080/arcgis/admin/machines/registermachineName=SERVER1.DOMAIN.COMadminURL=http://SERVER1.DOMAIN.COM:6080/arcgis/admin

Una manera sencilla para familiarizarse con las operaciones administrativas disponibles y sus parámetros requeridos es utilizar el Directorio Administrador de ArcGIS 10.1 for Server.

Utilizar el Directorio Administrador

El directorio de Administrador de ArcGIS 10.1 for Server es una aplicación web que puede ayudarle a escribir secuencias de comandos administrativos para ArcGIS 10.1 for Server. El directorio de Administrador es generalmente disponibles en http://<server name>:6080/arcgis/admin.

Piense en el directorio de Administrador como una hoja de ruta paralos recursos ArcGIS 10.1 for Server expuestos a través de la API de Administrador. Puede navegar por los enlaces en el directorio de Administrador para aprender qué direcciones URL y parámetros utilizar en las solicitudes de servicio Web administrativa. A continuación, puede formular esas solicitudes y enviarlas en HTTP utilizando un lenguaje de secuencia de comandos de su elección.

Intente utilizar el directorio de Administrador para realizar una tarea administrativa. Tenga en cuenta los parámetros que se requiere que introduzca y examine la dirección URL en la barra de direcciones del navegador cuando realiza la solicitud al servidor. las herramientas de desarrollador Web como Fiddler o Firebug pueden ser útiles para ver todo el cuerpo de la solicitud y respuesta. Esta información es extremadamente valiosa cuando se están intentando construir sus propias peticiones a través de peticiones HTTP administrativas a través de Python o de otro lenguaje de secuencia de comandos.

Aunque puede utilizar el Directorio Administrador de forma interactiva para realizar tareas administrativas, esta aplicación Web se utiliza mejor como una herramienta de aprendizaje para ayudarle familiarizarse con la API de Administrador . La aplicación Web de ArcGIS for Server destinada a la administración es el Administrador de ArcGIS 10.1 for Server.

Obtener y utilizar un token en secuencias de comandos

Cuando inicia sesión en el Administrador o el directorio de Administrador, deberá proporcionar el nombre de usuario y la contraseña de una cuenta que tenga privilegios administrativos o de responsable de publicación para ArcGIS 10.1 for Server. Se aplica el mismo concepto cuando escriba secuencias de comandos. Se requiere que presente un nombre y una contraseña para el servidor de forma programada. El servidor devuelve un token, que es una cadena de caracteres especiales que demuestra que el servidor han sido autenticado para realizar ciertos tipos de acciones. Debe incluir este token en cualquier solicitud de servicio Web que se realice en el servidor.

El token no dura para siempre; está diseñado para un cierto tiempo para que no pueda ser robado o utilizado de forma indefinida por un usuario malicioso. Tiene que solicitar un nuevo token cada vez que ejecute la secuencia de comandos (pero no cada vez que hace una solicitud).

La siguiente función de Python solicita un token. Se proporcionan como argumentos el nombre del servidor, número de puerto, el nombre de usuario y la contraseña.

Solicita un token administrativa de ArcGIS 10.1 for Server

def getToken(username, password, serverName, serverPort):     # Token URL is typically http://server[:port]/arcgis/admin/generateToken     tokenURL = "/arcgis/admin/generateToken"          # URL-encode the token parameters:-     params = urllib.urlencode({'username': username, 'password': password, 'client': 'requestip', 'f': 'json'})          headers = {"Content-type": "application/x-www-form-urlencoded", "Accept": "text/plain"}          # Connect to URL and post parameters     httpConn = httplib.HTTPConnection(serverName, serverPort)     httpConn.request("POST", tokenURL, params, headers)          # Read response     response = httpConn.getresponse()     if (response.status != 200):         httpConn.close()         print "Error while fetch tokens from admin URL. Please check the URL and try again."         return     else:         data = response.read()         httpConn.close()                     # Extract the token from it         token = json.loads(data)                 return token['token']

Trabajar con solicitudes y respuestas

Para hacer una solicitud de servicio Web de ArcGIS 10.1 for Server, debe formular la dirección URL para la acción que desea realziar, así como los parámetros requeridos para esa acción. Uno de los parámetros requeridos en un servidor protegido es un token como el que ha generado anteriormente.

Todas las acciones administrativas producen una respuesta de servicio Web que por lo general pide en formato JavaScript Object Notation (JSON). Los lenguajes de secuencia de comandos como Python tienen bibliotecas que puede analizar y leer respuestas JSON. A veces sólo desea obtener el código de estado HTTP para averiguar si su solicitud ha tenido éxito (por ejemplo, un código 200 significa Ok). Otras veces, la respuesta puede tener datos, como mensajes de registro, que desea analizar y estudiar más en profundidad.

Consulte los diversos ejemplos de código en este libro de ayuda para comprender cómo puede enviar una solicitud a ArcGIS 10.1 for Server de forma programada y trabajar con una respuesta.

Temas relacionados

9/12/2013