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 コンテナーとテーブルを特定できなくなります。

各非同期ジオプロセシング サービスに個別のキューを作成する必要もあります。 "jobsStoreQueue":"<name of the queue>" を、各サービスの serviceProperties に追加します。

作成したコンテナー、テーブル、およびオプションのキューの名前を正確に書き留めておきます。これらの名前は、この後の手順で使用します。

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

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

  1. ArcGIS Server Administrator Directory にサイン インして、Register Item を参照します。
  2. Azure Blob コンテナーとテーブルの接続情報を JSON として指定します。 以下のサンプルをご参照ください。
  3. Administrator Directory のホーム ページに戻り、[サービス] をクリックします。
  4. Azure Blob コンテナーを使用するように構成するジオプロセシング サービスを検索し、そのサービスの名前をクリックしてから [編集] をクリックします。
  5. そのサービスの JSON 表現に、新しい個別の serviceId、クラウド ストアの名前、およびそのサービスのキューを使用して以下のキーペアを追加します。

    
      "serviceId": "<a unique service ID>",
      "jobQueueStore":"/cloudStores/<name of your cloud store>",
      "jobTableStore": "/cloudStores/<name of your cloud store>",
      "outputStore": "/cloudStores/<name of your cloud store>",
      "jobObjectStore": "/cloudStores/<name of your cloud store>",
      "jobsStoreQueue": "<name of the queue>",
    ヒント:

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

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

JSON の例

この例では、datanamemyaccountkeystorageaccountnamecontainernameoptionalfoldername、および tablename を自分のアーティファクトと置き換えます。

アイテムの登録

{
    "path": "/cloudStores/dataname",
    "type": "cloudStore",
    "provider": "azure",
    "info": {
      "isManaged": false,
      "connectionString": {
           "accountKey":"myaccontkey",
           "accountName":"mystorageaccountname",
           "defaultEndpointsProtocol":"https",
           "accountEndpoint":"core.windows.net",
           "credentialType":"accessKey"
           },
      "objectStore": "containername/optionalfoldername",
      "tableStore":"tablename"
    }
  }

上記の手順 5 で必要なキー値のペアを追加して、ジオプロセシング サービスのサービス プロパティ JSON を変更します。

GPServer を編集します。

{
 "serviceName": "myGPService1",
<... removed to save space ...>
  "resultMapServer": "false",
  "maximumRecords": "1000",
  "virtualOutputDir": "/rest/directories/arcgisoutput",
<... below is the new key-values needed ...>
  "serviceId": "this_is_a_unique_serviceid",
  "jobQueueStore":"/cloudStores/azure",
  "jobTableStore": "/cloudStores/azure",
  "outputStore": "/cloudStores/azure",
  "jobObjectStore": "/cloudStores/azure",
  "jobsStoreQueue": "this_is_a_unique_queue_name",
<... end of new key-values needed ...>
  "portalURL": "https://domain/webadaptor/",
  "toolbox":  <... removed to save space ...>
 },
 "portalProperties": < ...removed to save space... >,
 "extensions": < ...removed to save space... >,
 "frameworkProperties": {},
 "datasets": []
}