Skip To Content

Microsoft Azure ストレージへのジオプロセシング サービスのジョブ ディレクトリの移動

ArcGIS Server 10.7 では、管理者は 1 つまたは複数のジオプロセシング サービスのジョブ ディレクトリをディスクの格納場所から Microsoft Azure クラウド内の格納場所に変更し、それ以外のサーバー ディレクトリはそのまま残すことができます。常に大規模な出力を伴うジオプロセシング サービスの場合は、このオプションを使用して、ストレージ リソースのサイズを変更することができます。

メモ:

Web ツールの公開時に [マップ イメージ レイヤーの出力を表示] オプションを有効にした場合は、生成されるジオプロセシング サービスのジョブ ディレクトリとしてクラウド内の格納場所を使用することはできません。このワークフローに変更を加えると、サービスが使用できなくなります。

Azure 環境の準備

ストレージ アカウントおよび Blob コンテナーとテーブルを作成するには、Microsoft Azure アカウントが必要です。

Azure ストレージ アカウントの作成

ストレージ アカウントは、次の要件を満たしている必要があります。

  • Standard パフォーマンス レベルのストレージ アカウントが必要です。
  • このアカウントは、汎用 v2 アカウント (推奨) または汎用 v1 アカウントのいずれかにすることができます。Blob ストレージ、ブロック Blob ストレージ、および Azure Files ストレージ アカウントは使用できません。
  • ホット アクセス層をお勧めします。
  • ストレージ アカウントの他の詳細設定は、組織のニーズに合わせて調整できます。

ストレージ アカウントを配置したら、ストレージ アカウントのアクセス キーの key1 をコピーします。これは、アカウントをクラウド ストアとして ArcGIS Server に登録する際に必要となります。

Blob コンテナーとテーブルの作成

同じストレージ アカウントで Blob コンテナーとテーブルを作成します。別のストレージ アカウントで作成すると、ジオプロセシング サービスがその Blob コンテナーとテーブルを特定できなくなります。

作成したテーブルの名前を正確に書き留めておきます。この名前は ArcGIS Server で使用します。

Azure へのジョブ ディレクトリの移動

Azure Blob コンテナーとテーブルを配置したら、その Blob コンテナーを ArcGIS Server に登録し、それに合わせてサービス プロパティを変更します。

  1. ArcGIS Server Manager にサイン インして、ストレージ アカウントの Blob コンテナーをサーバーに登録します。
  2. Blob コンテナーをクラウド ストアとして登録したら、REST API を使用して Azure テーブルにリンクさせます。https://gisserver.domain.com:6443/arcgis/admin で ArcGIS Server Administrator Directory にログインします。
  3. [データ] > [アイテム] > [/CloudStores] の順に移動して、新しい Blob コンテナーを検索し、[編集] をクリックして [データ アイテムの編集] エンドポイントを開きます。
  4. そのアイテムの JSON 表現で、Azure テーブルの名前とともに次のキーペアを追加します。

    "tableStore":"<name of Azure table>"

  5. [更新] をクリックして確定します。
  6. Administrator Directory のホーム ページに戻り、[サービス] をクリックします。
  7. Azure Blob コンテナーを使用するように構成するジオプロセシング サービス (またはサービスのうちの 1 つ) を検索し、そのサービスの名前をクリックしてから [編集] をクリックします。
  8. そのサービスの JSON 表現で、次のキーペアを検索し、クラウド ストアの名前で編集します。

    "jobsDirectory":"/cloudStores/<name of your cloud store>"
    ヒント:

    Administrator Directory でクラウド ストアの名前がそのデータ アイテムの URL エンドポイントの末尾に置かれます。

  9. [編集の保存] をクリックして確定します。
  10. Azure Blob コンテナーをジョブ ディレクトリとして使用するように複数のジオプロセシング サービスを構成する場合は、サービスごとに手順 4 ~ 9 を繰り返します。

JSON の例

この例では、Azure アカウントに mystorageaccount というストレージ アカウントがあり、そのストレージ アカウントに myblob という Blob コンテナーと mytable というテーブルが含まれています。key1mystorageaccountthisisafakekey12345 です。ジオプロセシング サービス myGPService1 のジョブ ディレクトリとして Azure ストレージを使用します。

登録処理中、[クラウド ストア名]azureblob になります。

クラウド ストアのプロパティを編集すると、JSON が変更され、末尾に "tableStore": "mytable" が追加されます。

データ アイテムを編集します。

{
  "path": "/cloudStores/azureblob",
  "type": "cloudStore",
  "id": "31245-abcde...",
  "provider": "azure",
  "info": {
    "isManaged": false,
    "connectionString": "abc/def/ghi/jkl/lmn/opq",
    "objectStore": "myblob",
    "tableStore": "mytable"
  }
}

次に、"jobsDirectory": "/cloudStores/azureblob", の後に "virtualOutputDir": "/rest/directories/arcgisoutput", を追加して、ジオプロセシング サービスのサービス プロパティ JSON を変更します。

GPServer を編集します。

{
 "serviceName": "myGPService1", <... removed to save space ...>
  "resultMapServer": "false",  "maximumRecords": "1000",  "virtualOutputDir": "/rest/directories/arcgisoutput",  "jobsDirectory": "/cloudStores/azureblob",  "portalURL": "https://domain/webadaptor/",  "toolbox":  <... removed to save space ...>
 }, "portalProperties": < ...removed to save space... >, "extensions": < ...removed to save space... >, "frameworkProperties": {}, "datasets": []
}