Resumen
Carga y publica un servicio SIG a un servidor SIG especificado basado en una definición de servicio de escalonado (archivo .sd).
Uso
Esta herramienta carga y publica un servicio SIG basado en la definición de servicio de entrada. Cada vez que comparta un servicio mediante ArcGIS for Desktop, esta herramienta se ejecuta y verá el resultado en la ventana Resultados de geoprocesamiento.
Esta herramienta no carga ni publica los archivos del proyecto de la definición de servicio (.sddraft). Si tiene un proyecto de definición de servicio, puede convertirlo en una definición de servicio de escalonado utilizando la herramienta Servicio de la Fase.
Puede crear una conexión ArcGIS for Server mediante ArcGIS for Desktop realizando una conexión de publicador.
Puede utilizar la herramienta Iniciar sesión a Portal para conectarse a un portal de ArcGIS Online.
Sintaxis
UploadServiceDefinition_server (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 | La definición de servicio (.sd) contiene toda la información necesaria para publicar un servicio SIG. | File |
in_server | Puede utilizar las conexiones de ArcGIS for Server enumeradas bajo el nodo Servidores SIG en la ventana Catálogo, o puede navegar a una carpeta diferente donde residan archivos de conexión al servidor. Si se conecta a ArcGIS Online, asegúrese de tipo Mis Hosted Services para la conexión del servidor con cada palabra capitalizados y un espacio entre cada palabra. | ServerConnection |
in_service_name (Opcional) | Utilice esta opción para invalidar el nombre de servicio especificados en la definición de servicio con un nuevo nombre. | String |
in_cluster (Opcional) | Utilice esta opción si desea cambiar el cluster a que el servicio se le ha asignado. Debe elegir de clusters que están disponibles en el servidor especificado. | String |
in_folder_type [in_folder_type,...] (Opcional) | Tipo de carpeta se utiliza para determinar la fuente para la carpeta. El valor predeterminado es llegar a una definición de servicio de la carpeta. También puede elegir obtener una lista de carpetas que ya existan en el servidor especificado, o puede especificar una carpeta nueva que se creará después de publicar este servicio.
| String |
in_folder (Opcional) | Utilice esta opción para especificar la carpeta para el servicio. La opción predeterminada es utilizar la carpeta especificada en la definición de servicio. Si elige el tipo de carpeta NUEVO, utilice este parámetro para introducir un nuevo nombre de la carpeta. Si elige el tipo de carpeta EXISTING, puede elegir las carpetas existentes en el servidor. | String |
in_startupType (Opcional) | Utilice esto para determinar el comienzo/dejar de estado del servicio inmediatamente después de la publicación.
| Boolean |
in_override (Opcional) | Utilice este parámetro si desea invalidar el reparto de las propiedades establecidas en la definición de servicio. Estas propiedades definen si y cómo, comparte su servicio con ArcGIS Online. Compartir el servicio con ArcGIS Online desenmascara a otros a utilizar.
Debe haber iniciado sesión en ArcGIS Online para invalidar compartir propiedades. | Boolean |
in_my_contents (Opcional) | Todos los servicios compartida están disponibles a través de Mi contenido. Incluso si solo desea compartir con un grupo específico en su organización, el servicio será también compartido a través de Mi contenido.
Debe haber iniciado sesión en ArcGIS Online para invalidar compartir propiedades. | Boolean |
in_public (Opcional) | Elija si desea o no su servicio estará a disposición del público.
Debe haber iniciado sesión en ArcGIS Online para invalidar compartir propiedades. | Boolean |
in_organization (Opcional) | Puede compartir el servicio con su organización.
Debe haber iniciado sesión en ArcGIS Online para invalidar compartir propiedades. | Boolean |
in_groups [group_name,...] (Opcional) | Una lista de nombres de grupo para compartir el servicio. Debe haber iniciado sesión en ArcGIS Online para invalidar compartir propiedades. | String |
Muestra de código
UploadServiceDefinition ejemplo (ventana de Python)
Uploads y publica un servicio definición a un servidor especificado.
import arcpy
arcpy.env.workspace = "C:/data"
arcpy.UploadServiceDefinition_server("myMapService.sd", "GIS Servers/myServerConnection")
Ejemplo de flujo de hacerlo- la publicación (secuencia de comandos)
La siguiente secuencia de comandos muestra un flujo de trabajo con Servicio de publicación de la Fase Definición de servicio y Cargar.
# 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 2 de UploadServiceDefinition (secuencia de comandos independiente)
La siguiente secuencia de comandos de bucles a través de todas las definiciones de servicio en una carpeta y publica cada uno a un ArcGIS Server.
# Name: UploadServiceDefinition_example3.py
# Description: Upload and publish all service definitions contained in a folder
# 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 variable
inServer = "myServerConnection.ags"
print "Publishing to " + inServer
# Find all the service definitions (.sd or .sds) in a workspace and
# upload\publish each one to an ArcGIS Server, Spaital Data Server, or My Hosted Services
sdList = arcpy.ListFiles("*.sd")
for inSdFile in sdList:
print "Publishing " + sdName
try:
arcpy.UploadServiceDefinition_server(inSdFile, inServer)
except Exception, e:
print e.message
Ejemplo 3 de UploadServiceDefinition (secuencia de comandos independiente)
La siguiente secuencia de comandos de carga una definición de servicio existente y utiliza los parámetros opcionales para modificar algunas propiedades del servicio.
# Name: UploadServiceDefinition_example5.py
# Description: Uploads an existing service definition and uses optional
# parameters to modify some details of the service
# 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
inSdFile = "myMapService.sd"
inServer = "myServerConnection.ags"
inServiceName = "newServiceName"
inCluster = "myCluster"
inFolderType = "NEW"
inFolder = "newFolder"
inStartup = "STOPPED"
inOverride = "OVERRIDE_DEFINITION"
inMyContents = "SHARE_ONLINE"
inPublic = "PRIVATE"
inOrganization = "NO_SHARE_ORGANIZATION"
inGroups = "My Group"
# Execute UploadServiceDefinition
arcpy.UploadServiceDefinition_server(inSdFile, inServer, inServiceName,
inCluster, inFolderType, inFolder,
inStartup, inOverride, inMyContents,
inPublic, inOrganization, inGroups)
Sobrescribir actual-servicios ejemplo (secuencia de comandos)
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 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)
Entornos
Esta herramienta no utiliza ningún entorno de geoprocesamiento
Información sobre licencias
- ArcGIS Desktop Basic: Sí
- ArcGIS Desktop Standard: Sí
- ArcGIS Desktop Advanced: Sí