組織の管理者は、特定のイベントが発生したときに通知を受けるように 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 Automate、Zapier、および 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 を作成するには、次の手順に従います。
- ArcGIS Portal Directory を参照し、管理者ロールを持つメンバーとしてサイン インします。
Webhook を作成および管理できるのは、デフォルト管理者ロールが割り当てられているメンバーまたは管理者だけです。
https://organization.domain.com/context/sharing/rest
サイン インすると、自分のアカウントの [User] リソース ページが表示されます。
- [Org ID] ハイパーリンクをクリックするか、以下のフォームのリクエストを行い、[Portal] → [Self] リソース ページにアクセスします。
https://organization.domain.com/context/sharing/rest/portals/self
- [Self] リソース ページの下部にスクロールし、[Webhook] > [Create Webhook] の順にクリックして [Create Webhook] 操作にアクセスします。
- [Create Webhook] エンドポイントで、次の情報を入力します。
- [Name] テキスト ボックスに Webhook の一意の名前を入力します。
- [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
- 必要に応じて、レシーバーで Webhook メッセージを認証するときに使用可能な Webhook のシークレットを設定します。 [Secret (Optional)] テキスト ボックスに、ユーザー定義の英数字文字列を入力します。
- 必要に応じて、[Configuration Properties] テキスト ボックスで、Webhook の非アクティブ化情報を指定します。
デフォルトでは、5 日間で 5 回エラーが発生すると Webhook は非アクティブ化します。
- [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 を表します。
Organization Webhook でサポートされているすべてのイベント トリガーについては、「イベント トリガー」のトピックをご参照ください。/groups/[groupID]/update
- [Send me everything] を選択した場合、サポートされているすべてのトリガー イベントに登録することになります。 各イベントが発生すると通知を受けます。
- [Let me define manually] を選択した場合、[Send me changes for these comma separated events] テキスト ボックスで、この Webhook に使用するトリガー イベントをリストします。 たとえば、組織内の特定のグループに関連するすべてのイベントに登録する場合、以下に示すようなトリガー イベントを入力します。ここで、[groupID] は、そのグループに関連付けられている一意の ID を表します。
- 上記のパラメーターを構成したら、[Create Webhook] をクリックしてリクエストを送信します。
操作が完了すると、新しい Webhook が組織に追加されます。
Organization Webhook の詳細パラメーターの構成
組織で利用する Webhook に適用される詳細設定で、配信の試行回数、通知時刻、配信試行間の時間などを指定することによって、Webhook の動作をさらにカスタマイズすることができます。
注意:
これらの詳細プロパティを構成する POST リクエストの例については、REST API ドキュメントの「Update Webhook Settings」をご参照ください。
これらの詳細プロパティを設定するには、次の手順を実行します。
- ArcGIS Portal Directory を参照し、管理者ロールを持つメンバーとしてサイン インします。 Webhook を作成および管理できるのは、デフォルト管理者ロールが割り当てられているメンバーまたは管理者だけです。
https://organization.domain.com/context/sharing/rest
サイン インすると、自分のアカウントの [User] リソース ページが表示されます。
- [Org ID] ハイパーリンクをクリックするか、以下のフォームのリクエストを行い、[Portal] → [Self] リソース ページにアクセスします。
https://organization.domain.com/context/sharing/rest/portals/self
- [Self] リソース ページの下部にスクロールし、[Webhook] > [Settings] > [Update] の順にクリックして [Update Webhook Settings] 操作にアクセスします。
- [Update Webhook Settings] エンドポイントで、次の情報を入力します。
- [Number of Notification Attempts] の値を設定します。
この値は、Webhook ペイロードを配信する試行回数を指定します。 デフォルトでは、ArcGIS Enterprise ポータルはペイロードの配信を 3 回試行します。 試行回数の値は 0 ~ 5 の整数である必要があります。
- [Notification Time Out in Seconds] の値を設定します。
この値は、ArcGIS Enterprise ポータルがレシーバーからのレスポンスの受信を待機する時間の長さ (秒) を指定します。 デフォルトでは、ArcGIS Enterprise ポータルは 10 秒待機します。 ArcGIS Enterprise ポータルが待機する秒数の値は 0 ~ 60 の整数である必要があります。
- [Notification Elapsed Time in Seconds] の値を設定します。
この値は、各ペイロード配信試行間の時間 (秒) を指定します。 デフォルトでは、ArcGIS Enterprise ポータルは、前の試行が失敗した場合は 5 秒後に別のペイロードの配信を試み、[Number of Notification Attempts] で指定した回数までこの処理を繰り返します。
- [Number of Notification Attempts] の値を設定します。
- 上記のパラメーターを構成したら、[Update Webhook Settings] をクリックしてリクエストを送信します。
操作が完了すると、更新されたプロパティが、構成されているすべての Organization Webhook に適用されます。
ジオプロセシング サービス Webhook の作成
ジオプロセシング サービス Webhook を使用することで、ジオプロセシング サービスに関連付けられているイベント トリガーに登録できます。
注意:
ジオプロセシング サービスの Webhook を作成する POST リクエストの例については、Webhook REST API ベータ版のドキュメント、 サービス Webhook 管理者 API ガイド (PDF) をご参照ください。
ジオプロセシング サービス Webhook を作成するには、次の手順に従います。
- ArcGIS Enterprise Administrator Site Directory を参照し、適切な管理者権限が割り当てられているメンバーとしてサイン インします。
Webhook を作成および管理できるのは、セキュリティおよびインフラストラクチャ、更新、削除の管理者権限が割り当てられているかデフォルト管理者ロールまたは公開者ロールが割り当てられている管理者だけです。
https://organization.domain.com/context/admin
- サイン インしたら、[Services] > [[ServiceName]] > [Webhooks] > [Create] の順にクリックして、ジオプロセシング サービスの [Webhooks] リソースを参照します。ここで、[ServiceName] は、Webhook が作成されるサービスを表します。 特定のフォルダーに格納されているサービスの場合、[Services] > [[FolderName]] > [[ServiceName]] > [Webhooks] > [Create] の順にクリックします。ここで、[FolderName] は、そのサービスが格納されているフォルダーを表します。
注意:
ジオプロセシング サービスの Webhook を構成するには、そのジオプロセシング サービスが非同期でなければなりません。
- [Create Webhook] エンドポイントで、次の情報を入力します。
- [Name] テキスト ボックスに Webhook の一意の名前を入力します。 特殊文字を使用するとエラー レスポンスが発生するため、入力する名前には英数字の値のみ含めることができます。
- 必要に応じて、レシーバーで Webhook メッセージを認証するときに使用可能な Webhook のシークレットを設定します。 [Signature Key] テキスト ボックスに、ユーザー定義の英数字文字列を入力します。
- [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
- 必要に応じて、メディア タイプを指定します。 [Content Type] ドロップダウン メニューで、次のいずれかを選択します。
- application/json (デフォルト)
- application/x-www-form-urlencoded
- 必要に応じて、ペイロードの形式を定義します。 [Payload Format] ドロップダウン メニューで、次のいずれかを選択します。
- JSON (デフォルト)
- PJSON
- 必要に応じて、[Active] パラメーターを使用して、Webhook がトリガーされたときのコールバックを無効または有効にします。 有効にするには、[True] を選択します。 無効にするには、[False] を選択します。
デフォルトでは、コールバックが有効になっています。
- 上記のパラメーターを構成したら、[Create] をクリックしてリクエストを送信します。
操作が完了すると、新しい Webhook がそのジオプロセシング サービスに適用されます。
注意:
Organization Webhook やフィーチャ サービス Webhook とは異なり、ジオプロセシング サービス Webhook にユーザー定義のイベント トリガーはありません。 ジオプロセシング サービス Webhook はジオプロセシング ジョブが完了するとペイロードを配信します。 ジオプロセシング サービスで配信されるペイロードの詳細については、「ペイロード」のトピックをご参照ください。フィーチャ サービス Webhook の作成
フィーチャ サービス Webhook を使用することで、フィーチャ サービスに関連付けられているイベント トリガーに登録できます。
注意:
フィーチャ サービスの Webhook を作成する POST リクエストの例については、Webhook REST API ベータ版のドキュメント、 サービス Webhook 管理者 API ガイド (PDF) をご参照ください。
フィーチャ サービス Webhook を作成するには、次の手順に従います。
- ArcGIS Enterprise Administrator Site Directory を参照し、適切な管理者権限が割り当てられているメンバーとしてサイン インします。
Webhook を作成および管理できるのは、セキュリティおよびインフラストラクチャ、更新、削除の管理者権限が割り当てられているかデフォルト管理者ロールまたは公開者ロールが割り当てられている管理者だけです。
https://organization.domain.com/context/admin
- サイン インしたら、[Services] > [[ServiceName]] > [Webhooks] > [Create] の順にクリックして、フィーチャ サービスの [Webhooks] リソースを参照します。ここで、[ServiceName] は、Webhook が作成されるサービスを表します。 特定のフォルダーに格納されているサービスの場合、[Services] > [[FolderName]] > [[ServiceName]] > [Webhooks] > [Create] の順にクリックします。ここで、[FolderName] は、そのサービスが格納されているフォルダーを表します。
注意:
フィーチャ サービスの Webhook を構成するには、そのフィーチャ サービスに編集機能が含まれていて、同期なしの変更追跡が有効になっている必要があります。
- [Create Webhook] エンドポイントで、次の情報を入力します。
- [Name] テキスト ボックスに Webhook の一意の名前を入力します。 特殊文字を使用するとエラー レスポンスが発生するため、入力する名前には英数字の値のみ含めることができます。
- [Change Type] テキスト ボックスで、この Webhook に使用するイベント トリガーをリストします。 たとえば、フィーチャ サービスが作成されたときに必ず Webhook を呼び出すには、次のイベント トリガーを使用します。
フィーチャ サービス Webhook でサポートされているすべてのイベント トリガーについては、「イベント トリガー」のトピックをご参照ください。例
FeaturesCreated
- 必要に応じて、レシーバーで Webhook メッセージを認証するときに使用可能な Webhook のシークレットを設定します。 [Signature Key] テキスト ボックスに、ユーザー定義の英数字文字列を入力します。
- [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
- 必要に応じて、メディア タイプを指定します。 [Content Type] ドロップダウン メニューで、次のいずれかを選択します。
- application/json (デフォルト)
- application/x-www-form-urlencoded
- 必要に応じて、ペイロードの形式を定義します。 [Payload Format] ドロップダウン メニューで、次のいずれかを選択します。
- JSON (デフォルト)
- PJSON
- 必要に応じて、[Active] パラメーターを使用して、Webhook がトリガーされたときのコールバックを無効または有効にします。 有効にするには、[True] を選択します。 無効にするには、[False] を選択します。
デフォルトでは、コールバックが有効になっています。
- [Schedule] テキスト ボックス内の [Seconds] 情報を変更することによって、Webhook のスケジュール設定を調整します。 頻繁に編集が行われるフィーチャ サービスの場合、[Seconds] の値を小さくすることで、Webhook を受信する回数を増やしてペイロードに含まれるイベント情報を減らします。 編集が頻繁には行われないフィーチャ サービスの場合、[Seconds] プロパティの値を大きくすることで、Webhook を受信する回数を減らしてペイロードに含まれるイベント情報を増やします。
スケジュール設定の最小 (デフォルト) 値は 20 秒です。
- 上記のパラメーターを構成したら、[Create] をクリックしてリクエストを送信します。
操作が完了すると、新しい Webhook がそのフィーチャ サービスに適用されます。