Est-il possible d'arrêter et de démarrer par programme les services de carte ArcGIS Server à l'aide de Python?
python
arcgis-server
Jeff Berry
la source
la source
.ags
fichier en jeton. Vous pourrez peut-être essayer de vous connecter avec un certificat (fichier PEM), bien que cela nécessite plus qu'un simple HTTP vanilla.Réponses:
Dans ArcGIS 10.0, pour les services individuels, tels que vous pouvez utiliser la ligne de commande pour maintenir ArcIMS, il existe un outil en ligne de commande que vous pouvez télécharger à partir de la galerie de codes ( AGSSOM ) qui vous donne le cœur des principaux domaines, mais il n'y a pas de service spécifique granulaire 'contrôle de niveau que vous pouvez utiliser à ce moment pour démarrer / arrêter / actualiser / ajouter / supprimer des services AGS.
Il y a sur ideas.arcgis.com plusieurs endroits avec des demandes pour améliorer le contrôle des services à partir d'un emplacement plus automatisable.
la source
Pour ceux qui utilisent ArcGIS 10.0 et qui souhaitent utiliser AGSSOM comme recommandé par DE Wright, j'ai rassemblé le code suivant. Cela arrêtera tous les services vous permettant d'effectuer les tâches de géodatabase nécessaires, puis redémarrera les services précédemment exécutés.
la source
Depuis ArcGIS Server 10.3, plusieurs utilitaires de ligne de commande basés sur Python sont fournis avec ArcGIS Server.
Selon la documentation d'Esri, ils sont généralement installés ici:
C:\Program Files\ArcGIS\Server\tools\admin
L' utilitaire de gestion de service est idéal pour démarrer, arrêter ou supprimer des services:
python manageservice.py -u admin -p admin -s http://gisserver.domain.com:6080 -n Beirut/Parcels -o start
la source
Dans la même veine que ce que Jeff Berry a publié dans sa réponse, j'ai écrit une petite fonction qui gérera les services de carte ArcGIS Server 10.0 à l'aide des outils AGSSOM.
Dans mon cas, j'appelle individuellement les services par leur nom, en les arrêtant et en les démarrant un par un.
Ensuite, vous pouvez appeler un service par son nom en utilisant -x pour arrêter et -s pour démarrer:
la source
Pour ArcGIS 10.7 et certaines versions antérieures, un ensemble complet de scripts python pour arrêter, démarrer, supprimer et un tas d'autres choses peuvent être trouvés ici: http://www.arcgis.com/home/item.html?id= 12dde73e0e784e47818162b4d41ee340 (il y a aussi un .exe à l'intérieur si vous avez absolument besoin d'un exécutable complet)
Ou plongez dans l'aide et lisez les nombreuses options (hors ligne de commande, api python, extraits de code) ici: https://enterprise.arcgis.com/en/server/latest/administer/linux/scripting-arcgis -server-administration.htm
Cependant, tous ces points sont inclus comme autres réponses dans la question que vous avez référencée. AGSSOM était un utilitaire .net écrit pour le serveur 10.0 et les versions antérieures. Une version 10.1 et plus récente a été produite, mais elle n'a jamais gagné en popularité car vous n'avez pas besoin d'un code c # / vb lourd pour interfacer avec le serveur. Server 10.1+ a été publié avec une API REST bien structurée, permettant à des langages de haut niveau, tels que Python, et donc à un public plus large de l'écrire et de l'administrer sans avoir besoin de l' utilitaire lourd agssom.exe.
la source
Dans ArcGIS for Server 10.1+, vous pouvez utiliser ArcGIS Server Administration Toolkit - 10.1+
D'après la description (le gras est le mien):
la source