ArcGIS Server は、ArcGIS REST API を使用して GIS サービスを実行および管理します。 また、ArcGIS REST API を使用して、サーバー サイトの管理タスクのスクリプトを作成することもできます。 サーバー管理をスクリプト化すると、スケジュールされた時刻に一般的なタスクを自動的に実行できます。 また、複雑なタスクや繰り返しのタスクを実行するときの誤りを減らすこともできます。
ArcGIS Server のコマンド ライン ユーティリティと ArcPy サイト パッケージには、スクリプトを使用してサーバーを管理するための追加のオプションが用意されています。 続いて、それぞれのオプションについて説明します。
ArcGIS REST API の詳細と ArcGIS Server との関係
ArcGIS REST API を使用すると、ArcGIS サービスを操作して、ArcGIS Server サイトを管理できます。 REST API には、ArcGIS Server サイトを管理するためのリソースと操作が用意されています。 REST API を使用して、ArcGIS Server でサポートされるすべての管理タスクを呼び出すことができます。
REST API は、Web サービスを呼び出せる任意の言語 (Python、Java、JavaScript、PowerShell、C#、Ruby、Scala、Perl など) から呼び出すことができます。 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 でのマップの使用に関連するエラーや警告を報告したりすることもできます。