ArcGIS Velocity の HTTP 出力を使用すると、フィーチャおよびその他のテキストを POST、PUT、または DELETE リクエストを介して HTTP エンドポイントに送信できます。 リクエストは、出力に送信された出力フィーチャごとに送信されます。
例
あるアナリストは、HTTP 出力を構成して、指定した Webhook にカスタム JSON 形式のフィーチャを送信します。
使用上の注意
出力を操作する際には、以下の点に注意してください:
- リクエストの本文で JSON を送信する際は、JSON の書式を適切に設定するために、JSON を Text() Arcade 条件式で囲みます。
- HTTP 出力を使用する場合、データの速度を理解することが重要です。 HTTP 出力を使用する場合、データの速度を理解することが重要です。 これによって、すぐに Web サーバーの能力またはレート設定に過度な負荷をかける可能性があります。 発生頻度が低いことが予想されるインシデントには、HTTP 出力を使用します。
- OAuth (Open Authorization) 認証を使用する場合は、以下を適用します。
- HTTP 出力タイプは、Client Credentials グラント種別または Password グラント種別に準拠した OAuth 2.0 for HTTP エンドポイントを使用した認証をサポートします。 これらの OAuth グラント種別は、アクセス トークンを取得するための HTTP リクエストの構成を含むパターンに準拠し、必要に応じてリフレッシュ トークンを使用し、新しいアクセス トークンを取得するためのリクエストを構成します。 アクセス トークン リクエストの構成時に、OAuth 認証サーバーのレスポンスに含まれるアクセス トークンとリフレッシュ トークン (オプション)、および有効期限 JSON キー フィールドを識別するよう求められます。 有効期限を選択した場合は、有効期限のタイプ (期間またはタイムスタンプ) と単位を定義する必要があります。 文字列で表される有効期限のタイムスタンプを構成するには、有効期限の単位を [その他] に設定し、有効期限日の書式設定文字列を追加することで日付形式を指定します。 有効期限を含めずにリフレッシュ トークンが指定された場合、メイン データ リクエストが 2 回連続で失敗すると、フィードはリフレッシュ トークン リクエストを試みます。
- アクセス トークン リクエストからリフレッシュ トークンが識別された場合は、グローバル変数 $refreshToken を使用して、リフレッシュ トークン リクエストの構成でリフレッシュ トークンが使用される場所を定義する必要があります。 必要に応じて、グローバル変数 $accessToken をリフレッシュ トークン リクエストで使用することもできます。 グローバル変数 $refreshToken および $accessToken は、両方とも [POST body]、[URL パラメーター]、および [カスタム ヘッダー] パラメーターでの参照に使用できます。
- データ リクエストの構成に戻るとき、グローバル変数 $accessToken を使用して、アクセス トークンが使用される場所を定義する必要があります。 これは多くの場合、Authorization カスタム ヘッダーの Bearer $accessToken 値に含まれています。
- アクセス トークンは JWT (JSON Web Tokens) として保存できます。 JWT をアクセス トークンに使用する場合は、[JWT 形式の使用] のオプションをオンにします。 Velocity はトークンをデコードし、ペイロードに exp クレームが含まれる場合に、この値が自動的に有効期限として使用されます。 exp はアクセス トークンの有効期限のタイムスタンプ (エポック秒) です。
HTTP 出力では、ユーザーが URL またはカスタム ヘッダーの値をフィールド値から動的に設定できます。 このため、ユーザーは、処理対象のレコードごとに固有のエンドポイント URL、カスタム ヘッダー、URL パラメーターを構築できます。
ユーザーは、次のいずれかの形式を使用して、[URL]、[カスタム ヘッダー]、[URL パラメーター] のフィールド値を参照できます。
- 標準のフィールド名の場合は $feature.fieldName。
- フィールド名にスペースが含まれている場合は $feature['field name']。
接続のテストおよび検証をサポートするには、[URL]、[カスタム ヘッダー]、または [URL パラメーター] で使用される参照先の各フィールドにサンプル値を指定する必要があります。 これらの値は、解析の検証時とターゲット システムへの接続のテスト中に使用されます。 実行時に、Velocity は各プレースホルダーを現在のレコードの対応する属性値に置き換えます。
解析には sensor_id という名前のフィールドが含まれると仮定します。 出力の [URL] をhttps://yourAPIURL.com/$feature.sensor_id と定義できます。 sensor_id = 1234 があるレコードでは、出力は https://yourAPIURL.com/1234 に解決されます。 同じパターンを [カスタム ヘッダー] と [URL パラメーター] に使用できます。
- リクエストの本文に属性フィールドを含める Arcade 式を送信する場合は、式を評価するためにサンプル値が必要です。 [サンプル値] ドロップダウンを使用して、Arcade 式で参照されているいずれかの属性フィールドに代表値を指定します。
パラメーター
出力には、次のパラメーターがあります:
パラメーター | 説明 | データ タイプ |
---|---|---|
URL | 出力リクエストが送信されるときに経由する URL。 | String |
HTTP メソッド | リクエストの HTTP メソッド。 選択肢は [POST]、[PUT]、[DELETE] です。 | String |
POST body | JSON Arcade 条件式。 | Arcade 式 |
Content-Type | 送信リクエストの content-type ヘッダー。 次のような選択肢があります。
| String |
認証タイプ | [なし] (認証なし)、[ベーシック]、または [OAuth] 認証オプションを選択します。 [ベーシック] 認証オプションが構成されている場合、追加フィールドが表示されて、ユーザー名とパスワードを入力するよう求められます。 [OAuth] 認証オプションが構成されている場合、以下を構成できるポップアップ ウィンドウが表示されます。
上記を指定すると接続がテストされます。 ユーザーは JSON レスポンス内のアクセス トークン (オプションとして、リフレッシュ トークンと有効期限の値) をクリックして識別する必要があります。 リフレッシュ トークンの値が指定されている場合は、以下を構成できる追加のポップアップ ウィンドウが表示されます。
上記を指定すると接続がテストされます。 ユーザーは JSON レスポンス内のアクセス トークンとリフレッシュ トークンをクリックして識別する必要があります。 | さまざまなパラメーター |
URL パラメーター | 指定した Web サイトに送信される HTTP リクエストの URL に含める、オプションの URL パラメーター。 パラメーターは、上述の [URL] パラメーターでも設定できますが、ここで別のパラメーターとして入力された URL パラメーターは [URL] パラメーターで指定された一致するパラメーターをオーバーライドします。 このパラメーターで定義される URL パラメーターは、常に URL エンコードされます。 | キーと値のペア |
カスタム ヘッダー | 指定した Web サイトに送信される HTTP リクエストに含めるオプションのカスタム ヘッダー。 たとえば、カスタム ヘッダーを使用して、サード パーティー API キーや認証ヘッダーを指定できます。 | キーと値のペア |
その他のログ | 必要に応じて、Velocity が発行した未処理の HTTP リクエストとレスポンスのログ出力をオンにします。 注意:このパラメーターは、トラブルシューティングのためにのみオンにし、トラブルシューティングが完了したらオフにする必要があります。 オンにした後は、解析を開始すると、デバッグ レベルのログが解析ログ ページで使用できるようになります。 必要に応じて、トラブルシューティングについて Esri テクニカル サポートにお問い合わせください。 | Boolean |
サンプル値 | ユーザーは、$feature.fieldName または $feature['fieldName'] で参照されている各フィールドのサンプル データを定義できます。 これらの値は、接続のテストおよび検証で必要です。 | キーと値のペア |
検討事項および制限事項
出力を使用する際には、以下の点を検討してください:
- [OAuth] 認証オプションを使用する場合は、次の点に注意してください。
- 出力の作成時に、認証サーバーと関連付けられたデータ エンドポイントへの複数のリクエストが発生します。 一部の API では、特定のリクエストに対するレート制限が実装されており、これが出力の作成に影響する可能性があります。
- セキュリティー上の理由から、アクセス トークン リクエストの [POST body] は、認証パラメーターを編集する際に再構成する必要があります。
- インターネット上で、外部から Web サーバーにアクセスできる必要があります。