Resumen
Presenta una definición de servicio. Un archivo de definición de servicio presentado (.sd) contiene toda la información necesaria para compartir un servicio, capa web o herramienta web.
Uso
Esta herramienta convierte un archivo de borrador de definición de servicio (.sddraft) en una definición de servicio que se puede introducir en la herramienta Cargar definición de servicio para cargar y publicar un servicio, capa web o herramienta web en ArcGIS Online, ArcGIS Enterprise o ArcGIS Server. Las definiciones de servicio del borrador no se pueden utilizar para publicar directamente un servicio, capa web o herramienta web.
Siempre que comparta un servicio, capa web o herramienta web con ArcGIS Pro, se ejecuta la herramienta Presentar servicio y aparece una entrada en el elemento Historial de geoprocesamiento del panel Catálogo.
Esta herramienta analizará archivos .sddraft para determinar la adecuación y los orígenes de posibles problemas de rendimiento antes de convertir un archivo de borrador de definición de servicio en un archivo de definición de servicio (.sd). Cuando la herramienta se esté ejecutando, puede desplazar el puntero sobre la barra de progreso para visualizar una ventana emergente que contiene información completa sobre la herramienta, incluidos mensajes del analizador. También puede hacer clic en Ver detalles para ver la misma información detallada en una ventana separable, o haga clic en Abrir historial para abrir el historial de geoprocesamiento del proyecto. Cuando finaliza la ejecución de la herramienta, la barra de progreso muestra un icono y un mensaje para indicar el estado de la herramienta. Para obtener más información sobre la visualización de mensajes en herramientas de geoprocesamiento, consulte Ejecutar una herramienta de geoprocesamiento.
Al analizar un archivo .sddraft, verá dos tipos de mensajes: errores y advertencias. Debe solucionar los errores del analizador antes de crear un archivo de definición de servicio. Las advertencias del analizador identifican problemas relacionados con el rendimiento, apariencia y acceso a datos, pero no evitan que convierta el archivo de borrador de definición de servicio en un archivo de definición de servicio. Cada mensaje del analizador tiene un tema de ayuda asociado. Para obtener más información acerca de cómo resolver estos problemas, consulte Analizar el recurso SIG.
Se pueden crear borradores de definición de servicio utilizando el módulo de arcpy.sharing o las funciones de ArcPy de CreateGeocodeSDDraft, CreateGPSDDraft o CreateImageSDDraft.
Sintaxis
arcpy.server.StageService(in_service_definition_draft, out_service_definition, {staging_version})
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 el módulo de arcpy.sharing o las funciones de ArcPy de CreateGeocodeSDDraft, CreateGPSDDraft o CreateImageSDDraft. | 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 |
staging_version (Opcional) | La versión del servicio en el que se va a publicar la definición de servicio. Al compartir una capa de entidades, teselas o imágenes con ArcGIS Enterprise, use 5. Al compartir una capa de imágenes de mapa o herramienta web con ArcGIS Enterprise y cualquier tipo de capa con ArcGIS Online, use 102. Esta es la opción predeterminada. | Long |
Muestra de código
El siguiente script publica una lista de capas desde un mapa como una capa de teselas web a ArcGIS Enterprise o a ArcGIS Online. La información de portal se obtiene desde la página Portales de ArcGIS Pro.
import arcpy
import os
# Set output file names
outdir = r"C:\Project\Output"
service = "TileSharingDraftExample"
sddraft_filename = service + ".sddraft"
sddraft_output_filename = os.path.join(outdir, sddraft_filename)
# Reference map to publish
aprx = arcpy.mp.ArcGISProject(r"C:\Project\World.aprx")
m = aprx.listMaps("World")[0]
lyrs = []
lyrs.append(m.listLayers('cities')[0])
lyrs.append(m.listLayers('counties')[0])
# Create TileSharingDraft and set service properties
sharing_draft = m.getWebLayerSharingDraft("HOSTING_SERVER", "TILE", service, lyrs)
sharing_draft.summary = "My Summary"
sharing_draft.tags = "My Tags"
sharing_draft.description = "My Description"
sharing_draft.credits = "My Credits"
sharing_draft.useLimitations = "My Use Limitations"
# Create Service Definition Draft file
sharing_draft.exportToSDDraft(sddraft_output_filename)
# Stage Service
sd_filename = service + ".sd"
sd_output_filename = os.path.join(outdir, sd_filename)
arcpy.StageService_server(sddraft_output_filename, sd_output_filename)
# Share to portal
print("Uploading Service Definition...")
arcpy.UploadServiceDefinition_server(sd_output_filename, "My Hosted Services")
print("Successfully Uploaded service.")
El siguiente script presenta un borrador de definición de servicio existente y muestra errores y advertencias del analizador.
import arcpy
try:
arcpy.StageService_server(r"C:\Data\World.sddraft", r"C:\Data\World.sd")
warnings = arcpy.GetMessages(1)
print(warnings)
except Exception as stage_exception:
print("Sddraft not staged. Analyzer errors encountered - {}".format(str(stage_exception)))
Entornos
Información de licenciamiento
- Basic: Sí
- Standard: Sí
- Advanced: Sí