.ags接続ファイルから接続情報を取得するにはどうすればよいですか?


8

ArcGIS Serverサービス(新しいサービスの公開、既存のサービスの更新、古いサービスの削除など)を複数の環境(開発、テスト、本番など)とインスタンス(環境ごとに2つ以上)にわたってバッチで管理するPythonスクリプトに取り組んでいます。

サービスを公開するには、ArcPyおよびAGS接続ファイルを使用できますが、それ以外のこと(既存のサービスのリスト、サービスの開始/停止/削除など)には、トークンベースの認証を使用するAGS Admin REST APIを使用する必要があります。トークン取得するには、ユーザーの名前とパスワードを送信する必要があります。

サーバーのURL、ユーザー名、パスワードを毎回指定する必要があるのは、特に私のスクリプトのように、一度に複数のAGSインスタンスを使用している場合、ユーザーにとって面倒です。代わりに、公開に必要な既存のAGS接続ファイルを代わりに使用できるようにしたいのですが。

.agsプログラムでAGS接続()ファイルから接続情報(サーバーのURL、ユーザー名、パスワードなど)を取得する方法はありますか?理想的にはPythonを使用していますか?arcpy.Describeそれらはダムファイルと見なされ、何もすることができません。

これを行う方法がない場合は、トークンを生成してローカルに長期間保存するために追加の構成手順が必要になると思います。これは、煩わしすぎてユーザーに毎回AGSインスタンスの資格情報を要求する必要がないためです。彼らはスクリプトを使用します。

回答:


5

つまり、いいえ。.agsファイルからその情報を抽出する方法は、多大な努力と真剣なリバースエンジニアリングなしにはありません。Esriはこの方法で設計しました。サーバーの完全修飾ドメイン名と、そのサーバーにアクセスする権限を持つユーザーの完全な資格情報を含むファイルがあると、大きなセキュリティリスクが生じるためです。

また、ユーザーがサービスを公開する権限を持っているからといって、GISサーバーでサービスを開始および停止できるわけではありません。つまり、サーバー接続ファイル(.agsファイル)があるからといって、ユーザーができるはずのロジック管理者のRESTエンドポイントへのアクセスとサービスの開始/停止は、私があなたの投稿を誤って解釈しない限り、少し欠陥があります。


1
ありがとう-私がそうだと思っていたもののほとんど。ただの痛みです。もちろん、.sdeファイルと同様に、.agsファイルも保護する必要があります。しかし、少なくとも、実際に.sdeファイルを意図した目的に使用できます。AGSファイルは、少なくともスクリプト作成の目的では、それほど有用ではないようです。また、パブリッシャー接続と管理者接続の違いを認識しています。主に後者を使用します。
blah238
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.