Servicio de etapas (Servidor)
Resumen
Organiza una definición de servicio. Una definición de servicio de escalonado (. sd) archivo contiene toda la información necesaria que se necesita para publicar un servicio SIG, incluidos los datos que se deben copiar en el servidor porque no aparece en el almacenamiento de datos del servidor.
Uso
Esta herramienta convierte un borrador de definición del servicio (.sddraft) en una definición del servicio que se puede introducir en la herramienta Upload_Service_Definition para cargar y publicar el servicio SIG en un servidor. Las definiciones de servicio del borrador no se pueden utilizar para publicar directamente un servicio SIG.
Cada vez que comparten un servicio utilizando ArcGIS for Desktop, la Servicio de la Fase herramienta se ejecuta y podrá ver un resultado en la ventana de geoprocesamiento Resultados .
Se pueden crear borradores de la definición del servicio mediante ArcGIS for Desktop o mediante las funciones arcpy CreateMapSDDraft (en arcpy.mapping), CreateImageSDDraft o CreateGPSDDraft.
Una vez organizados, se elimina el borrador de la definición del servicio de entrada.
Sintaxis
Parámetro | Explicación | Tipo de datos |
in_service_definition_draft | Introduzca la definición del servicio borrador. Se pueden crear borradores de definición de servicio utilizando ArcGIS for Desktop. Consulte el tema de ayuda Acerca de los servicios borradores para obtener más información. También puede utilizar la función arcpy.mapping CreateMapSDDraft para crear definiciones del servicio borrador. Una vez organizados, se elimina la definición del servicio borrador de entrada. | File |
out_service_definition |
Definición de servicio resultante. El valor predeterminado es escribir la definición de servicio en el mismo directorio que la definición de servicio borrador. | File |
Ejemplo de código
Organiza una definición de servicio.
import arcpy
from arcpy import env
env.workspace = "C:/data"
arcpy.StageService_server("myMapService.sddraft", "myMapService.sd")
La siguiente secuencia de comandos muestra una publicación del flujo de trabajo mediante Stage_Service y Upload_Service_Definition.
# Name: StageService_UploadServiceDefinition_example2.py
# Description: Use a service definition draft to create a service definition
# and then upload and publish that service definition.
# Requirements: Connection to an ArcGIS Server, Spatial Data Server, or My Hosted Services
# Import system modules
import arcpy
from arcpy import env
# Set environment settings
env.workspace = "C:/data"
# Set local variables
inServiceDefinitionDraft = "myMapService.sddraft"
outServiceDefinition = "myMapService.sd"
# Execute StageService
arcpy.StageService_server(inServiceDefinitionDraft, outServiceDefinition)
# Set local variables
inSdFile = outServiceDefinition
inServer = "GIS Servers/myServerConnection"
# Execute UploadServiceDefinition
arcpy.UploadServiceDefinition_server(inSdFile, inServer)
La siguiente secuencia de comandos crea y carga un servicio defintion que se pueden utilizar para overwite un servicio existente.
# Name: StageService_example3_UploadServiceDefinition_example4.py
# Description: Creates a service definition that can be used to overwrite an
# existing service. When this service definition is published it
# will overwrite the existing service.
# Requirements: Connection to an ArcGIS Server, Spatial Data Server,
# or My Hosted Services
# Import system modules
import arcpy
from arcpy import env
import xml.dom.minidom as DOM
# Set environment settings
env.workspace = "C:/data"
# Set local variables
inServiceDefinitionDraft = "myMapService.sddraft"
outServiceDefinition = "myMapService.sd"
newType = 'esriServiceDefinitionType_Replacement'
xml = draftPath + in_sd_draft
doc = DOM.parse(xml)
descriptions = doc.getElementsByTagName('Type')
for desc in descriptions:
if desc.parentNode.tagName == 'SVCManifest':
if desc.hasChildNodes():
desc.firstChild.data = newType
outXml = xml
f = open(outXml, 'w')
doc.writexml( f )
f.close()
# Execute StageService
arcpy.StageService_server(inServiceDefinitionDraft, outServiceDefinition)
# Set local variables
inSdFile = outServiceDefinition
inServer = "GIS Servers/myServerConnection"
# Execute UploadServiceDefinition
arcpy.UploadServiceDefinition_server(inSdFile, inServer)