Je travaille sur un script Python pour gérer les services ArcGIS Server (publier de nouveaux services, mettre à jour les services existants, supprimer les anciens services, etc.) en lot dans plusieurs environnements (par exemple, développement, test et production) et des instances (2+ par environnement).
Pour publier des services, vous pouvez utiliser les fichiers de connexion ArcPy et AGS, mais pour faire quoi que ce soit au-delà (par exemple, répertorier les services existants, démarrer / arrêter / supprimer des services), vous devez utiliser l' API REST Admin AGS , qui utilise l'authentification par jeton, et pour obtenir un jeton, vous devez soumettre le nom et le mot de passe de l'utilisateur.
Devoir spécifier l'URL, le nom d'utilisateur et le mot de passe du serveur à chaque fois serait fastidieux pour l'utilisateur, surtout s'il travaille avec plus d'une instance AGS à la fois, comme le fait mon script. Je préférerais de loin qu'ils puissent simplement utiliser leurs fichiers de connexion AGS préexistants, dont ils ont besoin pour la publication malgré tout.
Existe-t-il un moyen d'obtenir les informations de connexion (par exemple, URL du serveur, nom d'utilisateur, mot de passe) à partir d'un .ags
fichier de connexion AGS ( ) par programme - idéalement avec Python? arcpy.Describe
les considère comme des fichiers stupides et ne peuvent rien faire avec eux.
S'il n'y a aucun moyen de le faire, je suppose que je devrai exiger une étape de configuration supplémentaire pour générer et stocker les jetons localement pendant une longue durée car il serait trop lourd de devoir inviter l'utilisateur à fournir des informations d'identification pour chaque instance AGS à chaque fois. ils utilisent le script.