Webhook の作成

組織の管理者は、特定のイベントが発生したときに通知を受けるように ArcGIS Enterprise デプロイメントの Webhook を構成できます。 以下の各セクションでは、Organization Webhook とサービス Webhook を構成する方法について説明します。

Webhook を作成するための前提条件

Webhook を作成する前に、以下を考慮してください。

  • Organization Webhook を使用するには、組織が 10.7 以降のバージョンの ArcGIS Enterprise を使用している必要があります。 サービス Webhook を使用するには、組織が 11.0 以降のバージョンの ArcGIS Enterprise を使用している必要があります。
  • Organization Webhook を作成および管理するには、管理者であるか、デフォルト管理者ロールが割り当てられている必要があります。
  • サービス Webhook を作成および管理するには、セキュリティおよびインフラストラクチャ、更新、削除の管理者権限が割り当てられているか、デフォルト管理者ロールまたは公開者ロールが割り当てられている必要があります。
  • HTTPS を介して通信するように Webhook レシーバーが構成されている必要があります。 サードパーティ Web サービス レシーバー (Microsoft Power AutomateZapier、および IFFT) やカスタム Web サービスなどのレシーバーでサポートされているいくつかのオプションがあります。 カスタム Web サービスの作成方法の例、およびサードパーティ レシーバーの基本操作については、Webhook リポジトリをご参照ください。
  • フィーチャ サービスの Webhook を構成するには、そのサービスに編集機能が含まれていて、同期なしの変更追跡が有効になっている必要があります。
  • ジオプロセシング サービスの Webhook を構成するには、そのサービスが非同期でなければなりません。
注意:

このリリースでは、サービス Webhook はベータ機能です。 ベータ版では、これらの機能は完全ではない可能性があるため、場合によってはパフォーマンスまたは品質に関する既知の問題があり、Esri テクニカル サポートによるサポートはありません。 サービス Webhook のベータ版 API ドキュメントについては、 サービス Webhook 管理者 API ガイド (PDF) をご参照ください。 ArcGIS Enterprise のベータ機能の詳細については、「ベータ機能」をご参照ください。

Organization Webhook の作成

Organization Webhook を使用することで、ArcGIS Enterprise ポータル アイテム、グループ、およびユーザーに関連付けられたイベントのトリガーに登録できます。

注意:

ユーザー、グループ、およびアイテム関連のイベントについての Webhook を作成する POST リクエストの例については、REST API ドキュメントの「Create Webhook」をご参照ください。

Organization Webhook を作成するには、次の手順に従います。

  1. ArcGIS Portal Directory を参照し、管理者ロールを持つメンバーとしてサイン インします。

    Webhook を作成および管理できるのは、デフォルト管理者ロールが割り当てられているメンバーまたは管理者だけです。

    https://organization.domain.com/context/sharing/rest
    

    サイン インすると、自分のアカウントの [User] リソース ページが表示されます。

  2. [Org ID] ハイパーリンクをクリックするか、以下のフォームのリクエストを行い、[Portal] → [Self] リソース ページにアクセスします。
    https://organization.domain.com/context/sharing/rest/portals/self
    
  3. [Self] リソース ページの下部にスクロールし、[Webhook] > [Create Webhook] の順にクリックして [Create Webhook] 操作にアクセスします。
  4. [Create Webhook] エンドポイントで、次の情報を入力します。
    1. [Name] テキスト ボックスに Webhook の一意の名前を入力します。
    2. [Payload URL] テキスト ボックスに Webhook レシーバーのペイロード URL を入力します。レシーバーと ArcGIS Enterprise ポータル間の正常な接続が可能であるかを確認するため、Webhook の作成中にこの URL がクエリされます。

      ペイロード URL の例を以下に示します。

      https://app.logic.azure.com:443/workflows/b688528a36e246279dc050f936e5ebd4/triggers/manual/paths/invoke?api-version=2016-06-01&sp=%2Ftriggers%2Fmanual%2Frun&sv=1.0&sig=nHP-LBo9x-nSgMi11DSDuwRIUiJr-8yKGCy7OYaT_ow
      
    3. 必要に応じて、レシーバーで Webhook メッセージを認証するときに使用可能な Webhook のシークレットを設定します。 [Secret (Optional)] テキスト ボックスに、ユーザー定義の英数字文字列を入力します。
    4. 必要に応じて、[Configuration Properties] テキスト ボックスで、Webhook の非アクティブ化情報を指定します。

      デフォルトでは、5 日間で 5 回エラーが発生すると Webhook は非アクティブ化します。

    5. [Which events would you like to trigger this webhook] で、[Let me define manually] または [Send me everything] を選択します。
      • [Let me define manually] を選択した場合、[Send me changes for these comma separated events] テキスト ボックスで、この Webhook に使用するトリガー イベントをリストします。 たとえば、組織内の特定のグループに関連するすべてのイベントに登録する場合、以下に示すようなトリガー イベントを入力します。ここで、[groupID] は、そのグループに関連付けられている一意の ID を表します。
        /groups/[groupID]/update
        
        Organization Webhook でサポートされているすべてのイベント トリガーについては、「イベント トリガー」のトピックをご参照ください。
      • [Send me everything] を選択した場合、サポートされているすべてのトリガー イベントに登録することになります。 各イベントが発生すると通知を受けます。
  5. 上記のパラメーターを構成したら、[Create Webhook] をクリックしてリクエストを送信します。

    操作が完了すると、新しい Webhook が組織に追加されます。

Organization Webhook の詳細パラメーターの構成

組織で利用する Webhook に適用される詳細設定で、配信の試行回数、通知時刻、配信試行間の時間などを指定することによって、Webhook の動作をさらにカスタマイズすることができます。

注意:

これらの詳細プロパティを構成する POST リクエストの例については、REST API ドキュメントの「Update Webhook Settings」をご参照ください。

これらの詳細プロパティを設定するには、次の手順を実行します。

  1. ArcGIS Portal Directory を参照し、管理者ロールを持つメンバーとしてサイン インします。 Webhook を作成および管理できるのは、デフォルト管理者ロールが割り当てられているメンバーまたは管理者だけです。
    https://organization.domain.com/context/sharing/rest
    

    サイン インすると、自分のアカウントの [User] リソース ページが表示されます。

  2. [Org ID] ハイパーリンクをクリックするか、以下のフォームのリクエストを行い、[Portal] → [Self] リソース ページにアクセスします。
    https://organization.domain.com/context/sharing/rest/portals/self
    
  3. [Self] リソース ページの下部にスクロールし、[Webhook] > [Settings] > [Update] の順にクリックして [Update Webhook Settings] 操作にアクセスします。
  4. [Update Webhook Settings] エンドポイントで、次の情報を入力します。
    1. [Number of Notification Attempts] の値を設定します。

      この値は、Webhook ペイロードを配信する試行回数を指定します。 デフォルトでは、ArcGIS Enterprise ポータルはペイロードの配信を 3 回試行します。 試行回数の値は 0 ~ 5 の整数である必要があります。

    2. [Notification Time Out in Seconds] の値を設定します。

      この値は、ArcGIS Enterprise ポータルがレシーバーからのレスポンスの受信を待機する時間の長さ (秒) を指定します。 デフォルトでは、ArcGIS Enterprise ポータルは 10 秒待機します。 ArcGIS Enterprise ポータルが待機する秒数の値は 0 ~ 60 の整数である必要があります。

    3. [Notification Elapsed Time in Seconds] の値を設定します。

      この値は、各ペイロード配信試行間の時間 (秒) を指定します。 デフォルトでは、ArcGIS Enterprise ポータルは、前の試行が失敗した場合は 5 秒後に別のペイロードの配信を試み、[Number of Notification Attempts] で指定した回数までこの処理を繰り返します。

  5. 上記のパラメーターを構成したら、[Update Webhook Settings] をクリックしてリクエストを送信します。

    操作が完了すると、更新されたプロパティが、構成されているすべての Organization Webhook に適用されます。

ジオプロセシング サービス Webhook の作成

ジオプロセシング サービス Webhook を使用することで、ジオプロセシング サービスに関連付けられているイベント トリガーに登録できます。

注意:

ジオプロセシング サービスの Webhook を作成する POST リクエストの例については、Webhook REST API ベータ版のドキュメント、 サービス Webhook 管理者 API ガイド (PDF) をご参照ください。

ジオプロセシング サービス Webhook を作成するには、次の手順に従います。

  1. ArcGIS Enterprise Administrator Site Directory を参照し、適切な管理者権限が割り当てられているメンバーとしてサイン インします。

    Webhook を作成および管理できるのは、セキュリティおよびインフラストラクチャ、更新、削除の管理者権限が割り当てられているかデフォルト管理者ロールまたは公開者ロールが割り当てられている管理者だけです。

    https://organization.domain.com/context/admin
    
  2. サイン インしたら、[Services] > [[ServiceName]] > [Webhooks] > [Create] の順にクリックして、ジオプロセシング サービスの [Webhooks] リソースを参照します。ここで、[ServiceName] は、Webhook が作成されるサービスを表します。 特定のフォルダーに格納されているサービスの場合、[Services] > [[FolderName]] > [[ServiceName]] > [Webhooks] > [Create] の順にクリックします。ここで、[FolderName] は、そのサービスが格納されているフォルダーを表します。
    注意:

    ジオプロセシング サービスの Webhook を構成するには、そのジオプロセシング サービスが非同期でなければなりません。

  3. [Create Webhook] エンドポイントで、次の情報を入力します。
    1. [Name] テキスト ボックスに Webhook の一意の名前を入力します。 特殊文字を使用するとエラー レスポンスが発生するため、入力する名前には英数字の値のみ含めることができます。
    2. 必要に応じて、レシーバーで Webhook メッセージを認証するときに使用可能な Webhook のシークレットを設定します。 [Signature Key] テキスト ボックスに、ユーザー定義の英数字文字列を入力します。
    3. [Hook URL] テキスト ボックスに Webhook レシーバーのペイロード URL を入力します。レシーバーとデプロイメントの ArcGIS Server 間の正常な接続が可能であるかを確認するため、Webhook の作成中にこの URL がクエリされます。 ペイロードの例を以下に示します。
      https://app.logic.azure.com:443/workflows/b688528a36e246279dc050f936e5ebd4/triggers/manual/paths/invoke?api-version=2016-06-01&sp=%2Ftriggers%2Fmanual%2Frun&sv=1.0&sig=nHP-LBo9x-nSgMi11DSDuwRIUiJr-8yKGCy7OYaT_ow
      
    4. 必要に応じて、メディア タイプを指定します。 [Content Type] ドロップダウン メニューで、次のいずれかを選択します。
      • application/json (デフォルト)
      • application/x-www-form-urlencoded
    5. 必要に応じて、ペイロードの形式を定義します。 [Payload Format] ドロップダウン メニューで、次のいずれかを選択します。
      • JSON (デフォルト)
      • PJSON
    6. 必要に応じて、[Active] パラメーターを使用して、Webhook がトリガーされたときのコールバックを無効または有効にします。 有効にするには、[True] を選択します。 無効にするには、[False] を選択します。

      デフォルトでは、コールバックが有効になっています。

  4. 上記のパラメーターを構成したら、[Create] をクリックしてリクエストを送信します。

    操作が完了すると、新しい Webhook がそのジオプロセシング サービスに適用されます。

注意:
Organization Webhook やフィーチャ サービス Webhook とは異なり、ジオプロセシング サービス Webhook にユーザー定義のイベント トリガーはありません。 ジオプロセシング サービス Webhook はジオプロセシング ジョブが完了するとペイロードを配信します。 ジオプロセシング サービスで配信されるペイロードの詳細については、「ペイロード」のトピックをご参照ください。

フィーチャ サービス Webhook の作成

フィーチャ サービス Webhook を使用することで、フィーチャ サービスに関連付けられているイベント トリガーに登録できます。

注意:

フィーチャ サービスの Webhook を作成する POST リクエストの例については、Webhook REST API ベータ版のドキュメント、 サービス Webhook 管理者 API ガイド (PDF) をご参照ください。

フィーチャ サービス Webhook を作成するには、次の手順に従います。

  1. ArcGIS Enterprise Administrator Site Directory を参照し、適切な管理者権限が割り当てられているメンバーとしてサイン インします。

    Webhook を作成および管理できるのは、セキュリティおよびインフラストラクチャ、更新、削除の管理者権限が割り当てられているかデフォルト管理者ロールまたは公開者ロールが割り当てられている管理者だけです。

    https://organization.domain.com/context/admin
    
  2. サイン インしたら、[Services] > [[ServiceName]] > [Webhooks] > [Create] の順にクリックして、フィーチャ サービスの [Webhooks] リソースを参照します。ここで、[ServiceName] は、Webhook が作成されるサービスを表します。 特定のフォルダーに格納されているサービスの場合、[Services] > [[FolderName]] > [[ServiceName]] > [Webhooks] > [Create] の順にクリックします。ここで、[FolderName] は、そのサービスが格納されているフォルダーを表します。
    注意:

    フィーチャ サービスの Webhook を構成するには、そのフィーチャ サービスに編集機能が含まれていて、同期なしの変更追跡が有効になっている必要があります。

  3. [Create Webhook] エンドポイントで、次の情報を入力します。
    1. [Name] テキスト ボックスに Webhook の一意の名前を入力します。 特殊文字を使用するとエラー レスポンスが発生するため、入力する名前には英数字の値のみ含めることができます。
    2. [Change Type] テキスト ボックスで、この Webhook に使用するイベント トリガーをリストします。 たとえば、フィーチャ サービスが作成されたときに必ず Webhook を呼び出すには、次のイベント トリガーを使用します。

      FeaturesCreated
      
      フィーチャ サービス Webhook でサポートされているすべてのイベント トリガーについては、「イベント トリガー」のトピックをご参照ください。
    3. 必要に応じて、レシーバーで Webhook メッセージを認証するときに使用可能な Webhook のシークレットを設定します。 [Signature Key] テキスト ボックスに、ユーザー定義の英数字文字列を入力します。
    4. [Hook URL] テキスト ボックスに Webhook レシーバーのペイロード URL を入力します。レシーバーとデプロイメントの ArcGIS Server 間の正常な接続が可能であるかを確認するため、Webhook の作成中にこの URL がクエリされます。 ペイロードの例を以下に示します。
      https://app.logic.azure.com:443/workflows/b688528a36e246279dc050f936e5ebd4/triggers/manual/paths/invoke?api-version=2016-06-01&sp=%2Ftriggers%2Fmanual%2Frun&sv=1.0&sig=nHP-LBo9x-nSgMi11DSDuwRIUiJr-8yKGCy7OYaT_ow
      
    5. 必要に応じて、メディア タイプを指定します。 [Content Type] ドロップダウン メニューで、次のいずれかを選択します。
      • application/json (デフォルト)
      • application/x-www-form-urlencoded
    6. 必要に応じて、ペイロードの形式を定義します。 [Payload Format] ドロップダウン メニューで、次のいずれかを選択します。
      • JSON (デフォルト)
      • PJSON
    7. 必要に応じて、[Active] パラメーターを使用して、Webhook がトリガーされたときのコールバックを無効または有効にします。 有効にするには、[True] を選択します。 無効にするには、[False] を選択します。

      デフォルトでは、コールバックが有効になっています。

    8. [Schedule] テキスト ボックス内の [Seconds] 情報を変更することによって、Webhook のスケジュール設定を調整します。 頻繁に編集が行われるフィーチャ サービスの場合、[Seconds] の値を小さくすることで、Webhook を受信する回数を増やしてペイロードに含まれるイベント情報を減らします。 編集が頻繁には行われないフィーチャ サービスの場合、[Seconds] プロパティの値を大きくすることで、Webhook を受信する回数を減らしてペイロードに含まれるイベント情報を増やします。

      スケジュール設定の最小 (デフォルト) 値は 20 秒です。

  4. 上記のパラメーターを構成したら、[Create] をクリックしてリクエストを送信します。

    操作が完了すると、新しい Webhook がそのフィーチャ サービスに適用されます。