Resumen
Organiza una definición de servicio. Archivo de definición de servicio presentado (.sd) que 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 aparecen en el data store 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 Cargar definición de servicio 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 comparte un servicio utilizando ArcGIS Desktop, la herramienta Presentar servicio se ejecuta y verá un resultado en la ventana de geoprocesamiento Resultados.
Se pueden crear borradores de la definición del servicio utilizando ArcGIS Desktop o utilizando las funciones de ArcPy CreateMapSDDraft (en arcpy.mapping), CreateImageSDDraft o CreateGPSDDraft.
Una vez organizados, se elimina el borrador de la definición del servicio de entrada.
Sintaxis
arcpy.server.StageService(in_service_definition_draft, out_service_definition)
Parámetro | Explicación | Tipo de datos |
in_service_definition_draft | Borrador de la definición del servicio de entrada. Se pueden crear borradores de definición de servicio utilizando ArcGIS Desktop. Consulte Acerca de los borradores de servicios para obtener más información. También puede utilizar la función arcpy.mapping CreateMapSDDraft para crear borradores de definiciones de servicio. Una vez organizados, se elimina la definición del servicio borrador de entrada. | File |
out_service_definition | La definición de servicio resultante. El valor predeterminado es escribir la definición de servicio en el mismo directorio que el borrador de la definición de servicio. | File |
Muestra de código
Ejemplo 1 de StageService (ventana de Python)
Organiza una definición de servicio.
import arcpy
from arcpy import env
env.workspace = "C:/data"
arcpy.StageService_server("myMapService.sddraft", "myMapService.sd")
Ejemplo 2 del flujo de trabajo de publicación (secuencia de comandos independiente)
La siguiente secuencia de comandos muestra una publicación del flujo de trabajo mediante Presentar servicio y Cargar definición de servicio.
# 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 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)
Ejemplo 3 de sobrescribir servicios (secuencia de comandos independiente)
La siguiente secuencia de comandos crea y carga una definición de servicio que se pueden utilizar para sobrescribir 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
import xml.dom.minidom as DOM
# Set environment settings
arcpy.env.workspace = "C:/data"
# Set local variables
inServiceDefinitionDraft = "myMapService.sddraft"
outServiceDefinition = "myMapService.sd"
newType = 'esriServiceDefinitionType_Replacement'
xml = os.path.join(arcpy.env.workspace, inServiceDefinitionDraft)
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)
Entornos
Información de licenciamiento
- Basic: Sí
- Standard: Sí
- Advanced: Sí