ArcGIS Server は Web サービスを通して機能を公開しているため、ArcGIS REST API を使用してサーバーを管理することができます。サーバー管理をスクリプト化すると、スケジュールされた時刻に一般的なタスクを自動的に実行できます。また、複雑なタスクや繰り返しのタスクを実行するときの誤りを減らすこともできます。
ArcGIS Server のコマンド ライン ユーティリティと ArcPy サイト パッケージには、スクリプトを使用してサーバーを管理するためのさまざまなオプションが用意されています。続いて、それぞれのオプションについて説明します。
ArcGIS REST API の詳細と ArcGIS Server との関係
ArcGIS REST API では、Web サービスを使用して ArcGIS プラットフォームを操作できます。REST API には、ArcGIS Server サイトを管理するためのリソースと操作が用意されています。REST API を使用して、ArcGIS Server でサポートされるすべての管理タスクを呼び出すことができます。実際に、ArcMap、ArcGIS Server Manager など、ArcGIS に用意されているすべての管理ツールはこの API を使用しています。
REST API は、Web サービスを呼び出せる任意の言語 (Python、Java、JavaScript、PowerShell、C#、Ruby、Scala、Perl など) から呼び出すことができます。このヘルプのコード例では Python を使用しています。REST API を使用しているスクリプトを実行するために Esri ソフトウェアをインストールする必要はありません。
REST API を使用してプログラムで実行できる多くのサーバー管理タスクの例を以下に示します。
- ArcGIS Server をサイレントに (無人で) インストールした後、サイトを作成する
- サービスの追加
- インスタンスの最大数など、サービスのプロパティを編集する
- サービスのユーザー権限の付与と削除
- サービスの終了と開始
- ログをクエリし、使用状況レポートを作成する
ArcGIS API for Python
ArcGIS API for Python の gis.admin モジュールは、ArcGIS Server での管理タスクの支援と自動化に使用できます。これらのタスクには、サーバーのステータスをチェックするタスク、パスワードをリセットするタスク、サーバーを ArcGIS Enterprise ポータルとの間でフェデレート/アンフェデレートするタスクなどがあります。
ArcGIS Server コマンド ライン ユーティリティ
ArcGIS Server には、スクリプトで利用可能なユーティリティがいくつか用意されています。これらのユーティリティを使用すると、サーバーをバッチ ファイルまたはオペレーティング システムのコマンド ラインから管理できます。サービスの開始やキャッシュの構築などの基本的な操作では、スクリプトを最初から作成するよりも、これらのユーティリティを使用するほうが簡単な場合があります。
ArcPy 関数によるサービスの公開とデータの場所の登録
ArcPy Python サイト パッケージには、ArcGIS Server でのサーバーの公開、SD (サーバー定義) ファイルの操作、および ArcGIS Server サイトへのフォルダーとデータベースの登録を行うための関数が用意されています。ArcPy は、サービスの公開に必要な管理タスクをスクリプト化するために使用できます。また、マップ ドキュメントを分析したり、ArcGIS Server でのマップの使用に関連するエラーや警告を報告したりすることもできます。