Ejemplo: Publicar varios tipos de servicios utilizando las definiciones de servicio
Una definición de servicio (.sd) encapsula un servicio en un único archivo transferible, opcionalmente, incluyendo los datos SIG de origen. La herramienta Cargar Definición de servicio carga una definición de servicio al servidor y lo publica. Se puede abrir desde el paquete de sitio de ArcPy incluido en ArcGIS for Desktop.
El siguiente ejemplo de Python busca a través de una determinada carpeta , se busca la que contiene las definiciones de servicio (excluyendo las subcarpetas), y publica en ArcGIS 10.1 for Server. Todo eso es necesario es una ubicación de datos, la ruta a un archivo de conexión de ArcGIS 10.1 for Server y el nombre de la carpeta de destino en ArcGIS 10.1 for Server. Las definiciones de servicio podrían ser de cualquier tipo de servicio.
# Publishes all service definitions in an operating system directory # (excluding subfolders) import arcpy, os # Define path to SDs wrkspc = "C:/data" sdDir = wrkspc + "/SDs" # Provide path to connection file # To create this file, right-click a folder in the Catalog window and # click New > ArcGIS 10.1 for Server Connection con = wrkspc + "/connections/arcgis on myserver_6080 (publisher).ags" # Destination folder name on ArcGIS 10.1 for Server serverFolder = "TestPublish" # Loop through all items in folder sdList = os.listdir(sdDir) for sd in sdList: # Construct path to item extension = os.path.splitext(sd)[1] #Get file extension sdPath = os.path.join(sdDir, sd) # Check if item is an SD file and, if so, try to publish if os.path.isfile(sdPath) and extension == ".sd": try: arcpy.UploadServiceDefinition_server(sdPath, con, "", "", "EXISTING", serverFolder) print "Published " + sd + " with no errors reported." except: print "Could not complete publishing operation for " + sd + "." print arcpy.GetMessages()