Charger une définition de service (Serveur)

Niveau de licence :BasicStandardAdvanced

Récapitulatif

Cet outil télécharge et publie un service SIG sur un serveur SIG spécifié en fonction d'un fichier de définition de service organisée (.sd).

Utilisation

Syntaxe

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})
ParamètreExplicationType de données
in_sd_file

La définition de service (.sd) contient toutes les informations nécessaires à la publication d'un service SIG.

File
in_server

Vous pouvez utiliser les connexions ArcGIS for Server répertoriées sous le nœud Serveurs SIG dans la fenêtre Catalogue ou accéder à un dossier différent où vous avez peut-être stocké des fichiers de connexion au serveur.

Si vous vous connectez à ArcGIS Online, tapez Mes services hébergés pour la connexion au serveur en veillant à commencer chaque mot par une majuscule et à les séparer par un espace.

ServerConnection
in_service_name
(Facultatif)

Utilisez cette option pour remplacer le nom du service actuellement spécifié dans la définition de service par un nouveau nom.

String
in_cluster
(Facultatif)

Utilisez cette option si vous souhaitez modifier l'agrégat auquel le service a été attribué. Vous devez choisir parmi les agrégats disponibles sur le serveur spécifié.

String
in_folder_type
[in_folder_type,...]
(Facultatif)

Le type de dossier permet de déterminer la source du dossier. Par défaut, le dossier provient de la définition de service. Vous pouvez également obtenir une liste des dossiers présents sur le serveur spécifié ou spécifier un nouveau dossier à créer une fois ce service publié.

  • NEWUtilisez cette option pour créer un dossier.
  • EXISTINGUtilisez cette option pour spécifier un dossier qui existe sur le serveur.
  • FROM_SERVICE_DEFINITIONUtilisez le dossier déjà spécifié dans la définition de service. Il s'agit de l'option par défaut.
String
in_folder
(Facultatif)

Utilisez cette option pour spécifier le dossier du service. Le dossier spécifié dans la définition de service est utilisé par défaut. Si vous avez choisi le type de dossier NEW, utilisez ce paramètre pour entrer un nouveau nom de dossier. Si vous avez choisi le type de dossier EXISTING, vous pouvez choisir parmi les dossiers figurant sur le serveur.

String
in_startupType
(Facultatif)

Utilisez cette option pour déterminer si le service doit démarrer immédiatement après la publication.

  • STARTEDLe service démarre immédiatement après la publication.
  • STOPPEDLe service ne démarre pas après la publication. Vous devez le démarrer manuellement.
Boolean
in_override
(Facultatif)

Utilisez ce paramètre si vous voulez ignorer les propriétés de partage définies dans la définition de service. Ces propriétés déterminent si (et comment) vous partagez votre service avec ArcGIS Online. Le fait de partager votre service avec ArcGIS Online permet à d'autres de l'utiliser.

  • OVERRIDE_DEFINITIONRemplace les propriétés de partage définies dans la définition de service par de nouvelles valeurs.
  • USE_DEFINITIONLes propriétés de partage actuellement définies dans la définition de service seront utilisées une fois le service publié. Il s'agit de l'option par défaut.

Vous devez être connecté à ArcGIS Online pour pouvoir remplacer les propriétés de partage.

Boolean
in_my_contents
(Facultatif)

Tous les services partagés sont disponibles par l'intermédiaire de Mon contenu. Même si vous souhaitez uniquement le partager avec un groupe spécifique de votre organisation, le service est également partagé via Mon contenu.

  • SHARE_ONLINEPartage le service sur ArcGIS Online. Le service est répertorié sous Mon contenu.
  • NO_SHARE_ONLINELe service ne sera pas partagé sur ArcGIS Online ; les autres utilisateurs d'ArcGIS Online et les clients sur le Web ne pourront pas y accéder.

Vous devez être connecté à ArcGIS Online pour pouvoir remplacer les propriétés de partage.

Boolean
in_public
(Facultatif)

Spécifiez si le public pourra accéder ou non à votre service.

  • PUBLICPartage le service avec le public.
  • PRIVATENe partage pas le service avec le public.

Vous devez être connecté à ArcGIS Online pour pouvoir remplacer les propriétés de partage.

Boolean
in_organization
(Facultatif)

Vous pouvez partager votre service avec votre organisation.

  • SHARE_ORGANIZATIONPartage le service avec votre organisation.
  • NO_SHARE_ORGANIZATIONNe partage pas le service avec votre organisation.

Vous devez être connecté à ArcGIS Online pour pouvoir remplacer les propriétés de partage.

Boolean
in_groups
[group_name,...]
(Facultatif)

Liste des noms de groupes avec lesquels partager le service.

Vous devez être connecté à ArcGIS Online pour pouvoir remplacer les propriétés de partage.

String

Exemple de code

Exemple d'utilisation de l'outil UploadServiceDefinition (fenêtre Python)

Télécharge et publie une définition de service sur un serveur spécifié.

import arcpy
from arcpy import env
env.workspace = "C:/data"
arcpy.UploadServiceDefinition_server("myMapService.sd", "GIS Servers/myServerConnection")
Exemple de worflow de publication (script autonome)

Le script suivant illustre un workflow de publication faisant appel aux options Organiser le service et Télécharger la définition du service.

# 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)
Exemple 2 d'UploadServiceDefinition (script autonome)

Le script suivant parcourt toutes les définitions de service d'un dossier et publie chacune d'elles sur 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
Exemple 3 d'UploadServiceDefinition (script autonome)

Le script suivant télécharge une définition de service et utilise des paramètres facultatifs pour modifier certaines propriétés du service.

# 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)
Exemple de remplacement de services (script autonome)

Le script suivant crée et télécharge une définition de service qui permet de remplacer un service.

# 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)

Environnements

Cet outil n'utilise aucun environnement de géotraitement

Thèmes connexes

Informations de licence

ArcGIS for Desktop Basic: Oui
ArcGIS for Desktop Standard: Oui
ArcGIS for Desktop Advanced: Oui
6/5/2014