Cargar definición de servicio (Servidor)

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ámetroExplicaciónTipo 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:

  • Mis servicios alojados: se usa al compartir una capa web alojada con ArcGIS Online o ArcGIS Enterprise. Introduzca Mis servicios alojados para la conexión al servidor. Escriba en mayúsculas la primera letra de cada palabra e incluya espacios entre las palabras.
  • HOSTING_SERVER: se usa al compartir una capa web alojada con ArcGIS Online o ArcGIS Enterprise.
  • La URL del servidor federado del portal de ArcGIS Enterprise: se usa al compartir una herramienta web o capa de imágenes de mapa con un servidor federado del portal de ArcGIS Enterprise.
  • Una conexión ArcGIS Server: se usa al compartir un servicio de geoprocesamiento o de mapas con ArcGIS Server. Puede utilizar las conexiones de ArcGIS Server enumeradas bajo el nodo Servidores de la ventana Proyecto, o puede ir a la carpeta en la que estén almacenados los archivos de conexión del servidor.
  • Una URL a ArcGIS Server: se usa al compartir un servicio de geoprocesamiento o de mapas con ArcGIS Server. Se puede especificar la URL a ArcGIS Server siempre que se haya agregado una conexión de publicador a ArcGIS Server para el proyecto ArcGIS Pro y se esté abriendo el proyecto en el script o se esté ejecutando la herramienta en ArcGIS Pro.

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.

  • NEWCree una nueva carpeta.
  • EXISTINGEspecifique una carpeta que exista en el servidor.
  • FROM_SERVICE_DEFINITIONEspecifique la carpeta en la definición de servicio. Esta es la opción predeterminada.
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.

  • STARTEDEl servicio se inicia inmediatamente después de compartirlo.
  • STOPPEDEl servicio no se inicia después de compartirlo. El servicio se iniciará manualmente.
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.

  • OVERRIDE_DEFINITIONEl reparto de excepción de las propiedades establecidas en la definición de servicio con nuevos valores.
  • USE_DEFINITIONAl compartir la capa web o herramienta web, se utilizarán las propiedades de uso compartido que estén establecidas en la definición de servicio. Esta es la opción predeterminada.

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.

  • SHARE_ONLINESe comparte la capa web o herramienta web en ArcGIS Online o ArcGIS Enterprise. La capa web o herramienta web se incluyen en una lista de Mi contenido.
  • NO_SHARE_ONLINELa capa web o herramienta web no se compartirá en ArcGIS Online ni en ArcGIS Enterprise, y será inaccesible para otros usuarios y clientes de ArcGIS Online o ArcGIS Enterprise en la web.

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.

  • PUBLICSe comparte la capa web o herramienta web con el público.
  • PRIVATENo se comparte la capa web o herramienta web con 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.

  • SHARE_ORGANIZATIONSe comparte la capa web o la herramienta web con su organización.
  • NO_SHARE_ORGANIZATIONNo se comparte 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

NombreExplicaciónTipo 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

Ejemplo 1 de UploadServiceDefinition (script independiente)

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.")
Ejemplo 2 de UploadServiceDefinition (script independiente)

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)
Ejemplo 3 de UploadServiceDefinition (script independiente)

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

Esta herramienta no utiliza ningún entorno de geoprocesamiento.

Información de licenciamiento

  • Basic: Sí
  • Standard: Sí
  • Advanced: Sí

Temas relacionados