Resumen
Carga y comparte un servicio, capa web o herramienta web con ArcGIS Online, ArcGIS Enterprise o ArcGIS Server.
Uso
Esta herramienta carga y comparte un servicio, capa web o herramienta web en función de la definición del servicio de entrada. Siempre que se comparta un servicio o capa web mediante ArcGIS Pro, se ejecuta esta herramienta y aparece una entrada en el elemento Historial de geoprocesamiento del panel Catálogo.
Esta herramienta no carga ni comparte archivos de borrador de definición de servicio (.sddraft). Si tiene un borrador de definición de servicio, se puede convertir en una definición de servicio presentado utilizando la herramienta Presentar servicio.
Las herramientas web solo se pueden compartir en ArcGIS Enterprise. Las herramientas de geoprocesamiento solo se pueden compartir en ArcGIS Server.
Sintaxis
arcpy.server.UploadServiceDefinition(in_sd_file, in_server, {in_service_name}, {in_cluster}, {in_folder_type}, {in_folder}, {in_startupType}, {in_override}, {in_my_contents}, {in_public}, {in_organization}, {in_groups})
Parámetro | Explicación | Tipo de datos |
in_sd_file | El archivo de definición de servicio (.sd) que contiene toda la información necesaria para compartir un servicio, capa web o herramienta web. | File |
in_server | Una cadena de caracteres que representa el tipo de servidor. Se admiten los siguientes tipos de servidor:
| ServerConnection |
in_service_name (Opcional) | Utilice esta opción para reemplazar el nombre de servicio especificado en la definición de servicio por un nuevo nombre. | String |
in_cluster (Opcional) | Utilice esta opción si desea cambiar el cluster al que se ha asignado el servicio. Debe elegir de clústeres que están disponibles en el servidor especificado. Heredado:Los clústeres están obsoletos en ArcGIS Enterprise 10.5.1. Este parámetro se ignora con los servidores que no admiten varios clústeres. | String |
in_folder_type (Opcional) | Especifica el tipo de carpeta utilizado para determinar el origen de la carpeta. El valor predeterminado es llegar a una definición de servicio de la carpeta. También puede obtener una lista de carpetas que ya existan en el servidor en línea especificado, o bien especificar una carpeta nueva que se creará una vez que se comparta esta capa o servicio web.
| String |
in_folder (Opcional) | Utilice esta opción para especificar la carpeta para la capa o servicio web. La opción predeterminada es utilizar la carpeta especificada en la definición de servicio. Si se ha especificado NEW para in_folder_type, use este parámetro para introducir un nuevo nombre de carpeta. Si se ha especificado EXISTING para in_folder_type, se puede elegir entre las carpetas existentes en el servidor. | String |
in_startupType (Opcional) | Utilice esta opción para especificar el estado de inicio o detención del servicio inmediatamente después de la publicación.
| Boolean |
in_override (Opcional) | Utilice este parámetro para invalidar las propiedades de uso compartido establecidas en la definición de servicio. Estas propiedades definen si se va a compartir la capa web o herramienta web en ArcGIS Online o ArcGIS Enterprise, así como el modo de hacerlo. Al compartir la capa web o herramienta web, esta se expone para que otros usuarios la utilicen.
Debe haber iniciado sesión en ArcGIS Online o ArcGIS Enterprise para invalidar las propiedades de uso compartido. Este parámetro no se respeta cuando se comparte con ArcGIS Server. | Boolean |
in_my_contents (Opcional) | Especifica cómo se compartirán las capas web y las herramientas web. Todas las capas web y herramientas web compartidas están disponibles a través de Mi contenido. Incluso si solo desea compartir con un grupo específico de su organización, la capa web o herramienta web también se compartirá a través de Mi contenido.
Debe haber iniciado sesión en un portal para invalidar las propiedades de uso compartido. Este parámetro no se respeta cuando se comparte con ArcGIS Server. | Boolean |
in_public (Opcional) | Especifica si la capa web o herramienta web estará disponible para el público.
Debe haber iniciado sesión en ArcGIS Online o ArcGIS Enterprise para invalidar las propiedades de uso compartido. Este parámetro no se respeta cuando se comparte con ArcGIS Server. | Boolean |
in_organization (Opcional) | Especifica si compartir la capa web o la herramienta web con su organización.
Debe haber iniciado sesión en ArcGIS Online o ArcGIS Enterprise para invalidar las propiedades de uso compartido. Este parámetro no se respeta cuando se comparte con ArcGIS Server. | Boolean |
in_groups [group_name,...] (Opcional) | Una lista de nombres de grupo con los que compartir la capa web o herramienta web. Debe haber iniciado sesión en ArcGIS Online o ArcGIS Enterprise para invalidar las propiedades de uso compartido. Este parámetro no se respeta cuando se comparte con ArcGIS Server. | String |
Salida derivada
Nombre | Explicación | Tipo de datos |
out_soap_svc_url | La dirección URL de SOAP de un servicio publicado en el servidor. | Cadena |
out_rest_svc_url | La dirección URL de REST de un servicio publicado en el servidor. | Cadena |
out_mapServiceItemID | El Id. de elemento de la capa de imágenes de mapa compartida en el portal. | Cadena |
out_featServiceItemID | El Id. de elemento de la capa de servicio de entidades alojado compartida en el portal. | Cadena |
out_cached_service | Un servicio de imágenes o un servicio de mapas con el almacenamiento en caché habilitado. | Servicio de imágenes; MapServer |
out_featureServiceURL | La dirección URL de REST de la capa de entidades alojada compartida en el portal. | Cadena |
out_mapServiceURL | La dirección URL de REST de la capa de imágenes de mapa compartida en el portal. | Cadena |
out_LayerIDMap | Las capas publicadas y sus respectivos Id. en el formato Capa1|Id.1;Capa2|Id.2; etc. | Cadena |
out_standaloneTableIDMap | Las tablas independientes publicadas y sus respectivos Id. en el formato Tabla1|Id.1;Tabla2|Id.2; etc. | Cadena |
out_vectorTileServiceID | El Id. de elemento del servicio de teselas vectoriales. | Cadena |
out_vectorTileServiceURL | La dirección URL de REST del servicio de teselas vectoriales. | Cadena |
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 carga una definición de servicio existente y utiliza parámetros opcionales para modificar las propiedades del servicio.
import arcpy
# Set environment settings
arcpy.env.workspace = "C:/data"
# Set local variables
inSdFile = "myMapService.sd"
inServer = "myServerConnection.ags"
inServiceName = "newServiceName"
inCluster = "myCluster"
inFolderType = "NEW"
inFolder = "newFolder"
inStartup = "STOPPED"
# Execute UploadServiceDefinition
arcpy.UploadServiceDefinition_server(inSdFile, inServer, inServiceName,
inCluster, inFolderType, inFolder,
inStartup)
El siguiente script carga una definición de servicio existente en ArcGIS Online o ArcGIS Enterprise y utiliza parámetros opcionales para modificar las propiedades del servicio.
import arcpy
# Set environment settings arcpy.env.workspace = "C:/data"
# Set local variables inSdFile = "myMapService.sd"
inServer = "HOSTING_SERVER"
inServiceName = "newServiceName"
inCluster = "myCluster"
inFolderType = "EXISTING"
inFolder = "existingFolder"
inStartup = "STOPPED"
inOverride = "OVERRIDE_DEFINITION"
inMyContents = "SHARE_ONLINE"
inPublic = "PRIVATE"
inOrganization = "NO_SHARE_ORGANIZATION"
inGroups = ["My Group", "MyGroup 2"]
# Execute UploadServiceDefinition arcpy.UploadServiceDefinition_server(inSdFile, inServer, inServiceName, inCluster, inFolderType, inFolder,
inStartup, inOverride, inMyContents, inPublic, inOrganization, inGroups)
Entornos
Información de licenciamiento
- Basic: Sí
- Standard: Sí
- Advanced: Sí