<\/HEAD>
Webhooks。 コーディングしない方は、webhook統合が怖いもの、あるいはArcGIS以外に追加のミドルウェアが必要だと思うかもしれません。 どちらも間違いです。 FME<\/STRONG>ワークベンチをData Interoperability<\/STRONG>拡張機能で組み立てられるすべての市民インテグレーターは、Pro 2.6<\/STRONG>とEnterprise 10.8.1<\/STRONG>の両方の拡張機能を持っていれば、Survey123<\/STRONG>調査とData Interoperabilityがアクセスできる他の何かとの間でwebhook駆動の統合を自動化できます。<\/P><\/P>この自動化パターンをまだ調べていない場合に備えてシナリオを概説します。 Survey123はフォーム駆動のデータキャプチャアプリで、各調査が設計した属性を持つポイント、ライン、またはエリアフィーチャとして管理されるフィーチャサービスを管理します。 フォームは豊富な動作を持ち、ウェブおよびモバイルデバイスをサポートします。 調査フィーチャの下流処理には無限の可能性があります。 このブログで扱うのは次のデータフローです:<\/P><\/P>Survey123調査の送信は、そのフィーチャサービスに対するトランザクション(追加、更新)を表す<\/LI>トランザクションタイプに定義されたwebhookが各送信時にトリガーされる<\/LI>webhook URLはSpatial ETLウェブツール(ジオプロセシングサービス)の実行呼び出しである<\/LI>ウェブツールは調査送信フィーチャを使って統合を実行する<\/LI><\/UL><\/P>これらをまとめるのはすべて設定次第なので、始めましょう。 最も一般的なプラットフォームの組み合わせについて説明します - Survey123はArcGIS Onlineでホストされ、統合サーバーはArcGIS Enterpriseポータルですが、企業インフラ上にSurvey123があっても同様に機能します。<\/P><\/P>フィーチャサービスの読み書きを行うウェブツールを作成するため、このブログで説明されているようにサーバーへのウェブ接続を共有する必要があります。 まず最初に、サーバー上のサービス所有者アカウント(デフォルト名 'arcgis')がWorkbenchを起動し、Survey123フィーチャサービスが存在する場所へのウェブ接続を使用できることを確認してください。 ブログで説明されているテストツールなど、ウェブ接続を利用するウェブツールを正常に共有できるまで先に進まないでください。<\/P><\/P>ここから先はwebhookが静かに失敗しているように見える問題を回避する方法について説明します。 Survey123(つまりhttps:\/\/survey123.arcgis.com)はPOSTリクエストでサーバーを呼び出すため、信頼される必要があります。 以下は私が調査を送信した際のブラウザ(Firefox)のスクリーンショットで、デバッガペインが開いています。 サーバーへ送信されたPOSTリクエストがハイライトされています - 成功しています。 サーバーがSurvey123からのリクエストを拒否するとCORS(クロスオリジンリソース共有)に関するエラーメッセージが表示されます。<\/P><\/P>
<\/P><\/P>Survey123がサーバーへアクセスできるようにする方法についてはこちらをご覧ください - クロスオリジンリソース共有。<\/P>ポータル設定では次のようになります:<\/P><\/P>
<\/P><\/P>私の場合、この設定だけでは不十分でIISのHTTPレスポンスヘッダー設定も変更しました。 サーバー上でIISを開きHTTP Response Headerコントロールでダブルクリックして開き、以下の内容を追加してください。<\/P><\/P>
<\/P><\/P>
<\/P><\/P>これでサーバー設定が完了したのでデータフローの設定に進みましょう。 よく見ると私のテスト調査はキャビアサンドイッチについてです。 座標を調べれば実際にそこで買える可能性もあります! しかし本当のポイントはSurvey123が大量のJSONを送信しており、大規模な調査では非常に複雑になることです。 他の統合プラットフォームを見るとノーコード風ですが途中でJSON解析が必要になることがあります。 一方Survey123は常にフィーチャサービスへ書き込みますのでData Interoperabilityはネイティブに理解でき、飛び交うJSONを気にせず直接フィーチャサービスへアクセスできるという贅沢があります。素晴らしい!<\/P><\/P>まず調査を作成しましょう。 私のものはこちらです:<\/P><\/P>
<\/P><\/P>調査送信時にはフィーチャサービスへフィーチャが書き込まれ、その後設定されたwebhookがトリガーされます - 上記ブラウザデバッグビューではwebhook POSTより前にapplyEdits POSTがあります。統合ジオプロセシングサービスが新規レコードを検出できるように、私の調査には隠し必須質問「Integrated」がありデフォルト値は'N'です。この値は統合によって'Y'へ編集されます。 ウェブデザイナーでは隠し質問非対応なのでSurvey123 Connectで編集して質問追加しました。その編集画面はこちらです:<\/P><\/P>
そして調査へ保存した状態はこちら:

スキーマ変更適用には調査更新と再公開が必要です。
これで処理選択フラグとして使えるフィールドができました。統合ワークスペース設計用にいくつかレコードも作成し、それがこちらです:

ブログダウンロードにも含まれています。本格的な統合処理はありません - それはあなたの仕事ですがパターンをご覧いただけます。「integrate = 'N'」レコード読み込み→処理→「integrate = 'Y'」更新→GlobalIDキーでサービスへ書き戻しです。ツールソース埋め込みも忘れずに。
多数コラボレーターがおり偶然同時送信された場合でも、一方が2件処理し他方が0件でも問題ありません。フィーチャサービス書き込み遅延懸念ならCreator-Decelerator-FeatureReader組み合わせから開始してください。
私は手動テストとして調査送信後編集モードでツール実行しました。その後ウェブツール共有準備完了です。ツールボックスから実行して履歴アイテム作成後共有してください。サービス公開設定になっていますので職場で不可なら企業インフラ上Survey123をご利用ください。

まずツールをsynchronousに設定してください。利用可能インスタンス数不足ならasynchronousへ移行しましょう。

私のツールにはパラメータはありません。

共有完了後サービスURLへアクセスし値をコピーしてください。私の場合はこちら:

私のwebhook URIは: https:\/\\/dev0014223.esri.com/server/rest/services/WebhookIntegration/G PServer/WebhookIntegration /execute
Now 私の調査でWebhookを設定するだけが残っています。<\/P>
<\/P>
<\/P>
<\/P>
サンドイッチ調査が届くと、Webhook統合がトリガーされ、Integrated = 'Y' になります。<\/P>
<\/P>
<\/P>
<\/P>
本物のノーコード統合、ArcGIS Data Interoperability<\/STRONG>のおかげです。もし地元のサンドイッチ店で私を見かけたら、仕事中です - 本当です。<\/P><\/BODY><\/HTML>