Cargar definición del servicio (Servidor)
Resumen
Carga y publica un servicio SIG a un servidor SIG especificada basada en una definición de servicio de escalonado (. sd archivo).
Uso
-
Esta herramienta carga y publica un servicio SIG basado en la definición de servicio de entrada. Cada vez que comparten un servicio utilizando ArcGIS for Desktop, esta herramienta se ejecute, y verá un resultado en la ventana Resultados de geoprocesamiento.
Esta herramienta no cargar y publicar la definición de servicio de proyecto (. sddraft archivos). Si tiene un proyecto de definición de servicio, puede convertir a una definición de servicio de escalonado utilizando la herramienta Servicio de la Fase.
Puede crear una conexión ArcGIS for Server utilizando ArcGIS for Desktop de haciendo un editor conexión a ArcGIS 10.1 for Server en ArcGIS 10.1 for Desktop.
Puede utilizar la herramienta Iniciar sesión a Portal para conectarse a un portal de ArcGIS Online.
Sintaxis
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 ArcGIS for Server conexiones enumeradas bajo el nodo Servidores SIG en la ventana Catálogo , o puede navegar a una carpeta diferente donde podría tener archivos de conexión con el 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 en el servidor especificado ya existentes, 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 la carpeta EXISTING, puede elegir las carpetas existentes en el servidor. | String |
in_startupType | 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 sólo 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 |
Ejemplo de código
Uploads y publica un servicio definición a un servidor especificado.
import arcpy
from arcpy import env
env.workspace = "C:/data"
arcpy.UploadServiceDefinition_server("myMapService.sd", "GIS Servers/myServerConnection")
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, Spatial Data 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)
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 10.1 for Server.
# Name: UploadServiceDefinition_example3.py
# Description: Upload and publish all service definitions contained in a folder
# Requirements: Connection to an ArcGIS Server, Spatial Data 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
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, Spatial Data 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)
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
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)