外部 Web サイトをポーリング (JSON) 入力コネクタを使用すると、JSON として書式設定されたイベント データ レコードを外部 Web サイトから取得して適合させることができます。 ArcGIS GeoEvent Server での一般的な JSON データ レコードの書式設定の例については、Esri Community ブログ記事「JSON Data Structures - Working with Hierarchy and Multicardinality」をご参照ください。
複数のイベント データ レコードがバッチで返される場合は、次に示すように、配列として整理する必要があります。 JSON インバウンド アダプターは、各オブジェクトの配列を個別のイベント レコードとして管理します。
使用上の注意
外部 Web サイトをポーリング (JSON) 入力コネクタを使用する際には、以下の点に注意してください。
- この入力コネクタを使用し、JSON として書式設定されたデータを持つ Web サーバーや Web サービスを検索して、処理対象のイベント データ レコードを作成できるよう適合します。
- この入力コネクタは、JSON インバウンド アダプターと HTTP インバウンド トランスポートを組み合わせます。
- このアダプターは、フィーチャ JSON や GeoJSON とは異なり、汎用 JSON を解釈します。
- 汎用 JSON レコードには、ジオメトリを表すデータを含める必要はありません。
- JSON 配列で整理した一般的なイベント データを、上に示します。
- アダプターは、単一の JSON レコードと、配列に整理された JSON レコードの両方を管理します。
- [HTTP メソッド] パラメーターには、Web サービスでデータを検索するために使用する HTTP リクエストのタイプを指定します。 デフォルトでは、[HTTP/GET] リクエストを使用します。
- アダプターでは、X、Y、Z 属性値からポイント ジオメトリを構築することができます。
- [パラメーター] パラメーターを使用してクエリ パラメーターを指定すると、対象データを選択できます。
- HTTP/GET リクエストの一部としてクエリ パラメーターを指定することで、返されるアイテム数を絞り込むことができるようになるため、パフォーマンスを向上できます。
- 指定したクエリ パラメーターの名前と値は、外部 Web サービスでサポートされているリクエストによって異なります。
- この入力コネクタでは、外部 Web サーバーや Web サービスで認証を要求せずに HTTP/GET リクエストを許可することを想定しています。 認証を必要とする外部 Web サイトの場合は、JSON インバウンド アダプターと HTTP インバウンド トランスポートをペアにするカスタム入力コネクタを作成して、基本認証、証明書認証、または OAuth 認証に対応できるようにすることを検討してください。
- [新しいデータのみ受信] パラメーターを使用すると、まだ観測されていないデータまたは最近更新されたデータだけがフィードから返されるようにリクエストできます。 この機能では、データ フィードが HTTP リクエストへの応答のヘッダーに Last-Modified を正しく組み込む必要があります。 応答のヘッダーにコンテンツの最終更新日時が示されていない場合、GeoEvent Server は、応答に含まれるデータが新しいデータまたは最近更新されたデータであると想定します。 応答ヘッダーで Last-Modified を使用する方法について詳しくは、RFC 7232 HTTP 仕様をご参照ください。
- この入力コネクタには [Learning Mode] パラメーターが含まれています。Learning Mode は、入力コネクタが構築したジオイベント定義を修正できるようにする場合に便利です。 このパラメーターの目的とは、受信したイベント データが可変的なスキーマやデータ構造を持つことを一時的に許可することです。 入力コネクタは、受信したデータ レコードのサンプルを使用して可変的なデータ構造について学習し、これまでに観測されなかった新しい属性フィールドを既存のジオイベント定義に付加します。
ジオイベント定義のリアルタイム変更を許可すると、ジオイベント サービスのリアルタイム解析の設計に悪影響が及ぶことがあります。 インバウンド イベント データでスキーマのばらつきが予期される場合は、Learning Mode をできる限り短い期間で使用し、インバウンド データで予期されるすべてのバリエーションをサポートするジオイベント定義を生成することをお勧めします。 次に、Learning Mode をオフにして、自動生成されたジオイベント定義をコピーし、運用環境に配置できるように調整することができます。
パラメーター
外部 Web サイトをポーリング (JSON) 入力コネクタのパラメーターを次に示します。
パラメーター | 説明 |
---|---|
名前 | GeoEvent Manager で参照用として使用される入力コネクタの記述名。 |
URL | データを JSON としてホスティングする外部 Web サイトの基本 URL。 GeoEvent Server は URL にポール リクエストを発行し、JSON データを取得します。 |
ジオイベント定義の作成 | インバウンド イベント データに新しいジオイベント定義を使用するか、既存のジオイベント定義を使用するかを指定します。 GeoEvent Server がインバウンド データ属性フィールドおよびデータ タイプを理解するには、ジオイベント定義が必要です。
|
ジオイベント定義名 (新規) (条件) | 新しいジオイベント定義に与えられる名前。 指定した名前を持つジオイベント定義がすでに存在する場合、既存のジオイベント定義が使用されます。 最初に受信したデータ レコードを使用し、後続のデータ レコードで予期されるスキーマを決定します。新しいジオイベント定義は、最初のデータ レコードのスキーマに基づいて作成されます。 このパラメーターは、[ジオイベント定義の作成] が [はい] に設定されている場合に表示され、[いいえ] に設定されている場合は非表示になります。 |
ジオイベント定義名 (既存) (条件) | 受信したデータを適合して、GeoEvent Service によって処理されるイベント データを作成する際に使用する、既存のジオイベント定義の名前。 このパラメーターは、[ジオイベント定義の作成] が [いいえ] に設定されている場合に表示され、[はい] に設定されている場合は非表示になります。 |
HTTP メソッド | GeoEvent Server がデータ フィードを提供する外部サーバーにポーリングするときに使用される HTTP リクエスト メソッド。 デフォルトでは、[HTTP/GET] リクエストを使用します。
厳密的には、外部 Web サーバーや Web サービスでデータを検索する場合、ポーリング入力では常に [HTTP/GET] リクエストを使用する必要があります。 このパラメーターを変更して [POST] または [PUT] のいずれかを指定すると、その他のプロパティが表示されますが、この入力コネクタには関係ありません。 |
Post From Post Body 記事の本文の MIME タイプ POST Parameters (条件) | これらのパラメーターは、[HTTP メソッド] が [Get] に設定されている場合に、デフォルトで非表示になります。 詳細については、下の「制限事項」をご参照ください。 |
デフォルト空間参照 | 座標値が、想定されている WGS84 地理座標系システムの緯度と経度の値ではない属性フィールド値をもとにジオメトリを作成するか、受信したジオメトリ文字列に空間参照が含まれない場合に使用される空間参照の Well-Known ID (WKID)。 WKID または Well-Known Text (WKT) を含む属性フィールドの WKT 値または名前が指定されることもあります。 |
新しいデータのみ受信 | アダプターが、データ フィード応答のヘッダーの Last-Modified 値を検索し、この値を使用して、受信済みだが更新はされていないデータの処理を回避するかどうかを指定します。 パラメーターの名前は誤解を招く可能性があります。 フィードがコネクタのクエリへの応答に含めるデータは、常にトランスポートによって受信されます。 ただし、[新しいデータのみ受信] を指定すると、トランスポートは最後のリクエストの日付/時間をキャッシュし、データ フィードからの応答にトランスポートのキャッシュ値よりも大きい Last-Modified 値が含まれる場合にのみ、受信したデータをアダプターにリレーします。 Last-Modified 値の指定はオプションです。 実際には、応答に Last-Modified 値を含むデータ フィードはそれほど多くありません。 このパラメーターのデフォルトは [はい] ですが、Last-Modified 値が見つからない場合、応答に含まれるデータが新しいか更新済みであるかを判断するための日付/時間がないため、このパラメーターは無視されます。
応答ヘッダーの Last-Modified を使用する方法について詳しくは、RFC 7232 HTTP 仕様をご参照ください。 |
頻度 (秒) | 外部 Web サーバーまたは Web サービスがデータのポーリングを受ける間隔 (秒単位)。 デフォルトは [10] 秒です (つまり、10 秒ごとに 1 回のポール リクエストが行われます)。 |
ヘッダー パラメーターの名前:値のリスト | 外部 Web サーバーまたは Web サービスにポーリングしたときに、リクエストの HTTP ヘッダーに含まれるパラメーター。 ヘッダー パラメーターは、名前:値ペア (コロンも含む) をカンマで区切って指定する必要があります。 |
フィールドからジオメトリを作成 | 入力コネクタが、属性として受信した座標値を使用してポイント ジオメトリを作成するかどうかを指定します。 デフォルトは [いいえ] です。
|
X ジオメトリ フィールド (条件) | ポイント位置の X 座標部 (水平や経度など) を含むインバウンド イベント データの属性フィールド。 このパラメーターは、[フィールドからジオメトリを作成] が [はい] に設定されている場合に表示され、[いいえ] に設定されている場合は非表示になります。 |
Y ジオメトリ フィールド (条件) | ポイント位置の Y 座標部 (垂直や緯度など) を含むインバウンド イベント データの属性フィールド。 このパラメーターは、[フィールドからジオメトリを作成] が [はい] に設定されている場合に表示され、[いいえ] に設定されている場合は非表示になります。 |
Z ジオメトリ フィールド (条件) | ポイント位置の Z 座標部 (深さや高度など) を含むインバウンド イベント データのフィールド名。 空白のままにすると、Z 値が省略されて、2D ポイント ジオメトリが作成されます。 このパラメーターは、[フィールドからジオメトリを作成] が [はい] に設定されている場合に表示され、[いいえ] に設定されている場合は非表示になります。 |
JSON オブジェクト名 | 受信した JSON データ内の下部構造のルート ノードとして使用される JSON 要素の名前。 [JSON オブジェクト名] を使用して JSON 要素を名前で指定する場合、アダプターは、オブジェクト名が指定した要素名と一致する部分構造を検索します。 特定された部分構造内のデータだけが考慮されます。 この設定を空白のままにすると (デフォルト)、最上位の JSON オブジェクトが JSON 構造全体のルートとして使用されます。 |
パラメーター | ベースの URL に付加するクエリ パラメーター (複数可) を指定します。 クエリ パラメーターは各 Web サービスに固有であり、すべてのサービスによってサポートされているわけではありません。 クエリ パラメーターがサポートされている場合は、対象データを特定します。 このパラメーターにはデフォルト値がありません。 クエリ パラメーターは、通常、[URL] パラメーターに組み込まれます。 |
URL プロキシの使用 | GeoEvent Server が HTTP リクエストを行う際に URL プロキシを使用するかどうかを指定します。 デフォルトは [いいえ] です。
|
URL プロキシ (条件) | HTTP リクエストを実行する際に使用する URL プロキシ。 このパラメーターは、[URL プロキシの使用] が [はい] に設定されている場合に表示され、[いいえ] に設定されている場合は非表示になります。 |
推定される日付形式 | 日付時間値として予期される文字列表現を一致させ、それを Java Date 値に変換するために使用されるパターン。 パターンの形式は、Java SimpleDateFormat クラス変換に従います。 GeoEvent Server では、日付/時間値を ISO 8601 標準で表すことを推奨していますが、日付値として一般的に認識されている日付/時間値の文字列表現のいくつかは、[推定される日付形式] パターンを指定しなくても Java Date 値に変換することができます。 次に例を示します。
受信した日付/時間の値が、上記の 5 つ以外の形式で表される場合は、GeoEvent Server が日付/時間値を適合する方法を把握できるよう、推定される日付形式パターンを指定する必要があります。 |
使用できる MIME タイプ (クライアント モード) (条件) | データ フィードへの応答を受信するときに、このコネクタが許可する MIME タイプを指定します。 外部 Web サービスの応答は、GeoEvent Server に送信されるデータに対して実際の MIME タイプを指定します。 このコネクタは、このパラメーターのデフォルトである次の MIME タイプを理解します。 text/json,application/json 正式な MIME タイプの詳細については、Internet Assigned Numbers Authority (IANA) をご参照ください。 ArcGIS Server が使用しない MIME タイプの詳細については、「ArcGIS Server で使用されていない MIME タイプ」をご参照ください。 このパラメーターは、[HTTP メソッド] が [Get] に設定されている場合に表示され、[Post] か [Put] に設定されている場合は非表示になります。 |
使用できる MIME タイプ (サーバー モード) (条件) | 入力コネクタが許可する MIME タイプを指定します。 カンマを使用して値を区切ります (例: text/plain,application/xml,text/xml)。 MIME タイプは、通常はタイプ/サブタイプで構成され、サーバーがクライアントから受け取るデータのインターネット メディア タイプを指定する際に使用されます。 デフォルトでは、クライアントとサーバー間の JSON 送受信の正式 MIME タイプである [application/json] です。 正式な MIME タイプの詳細については、Internet Assigned Numbers Authority (IANA) をご参照ください。 ArcGIS Server が使用しない MIME タイプの詳細については、「ArcGIS Server で使用されていない MIME タイプ」をご参照ください。 注意:このパラメーターは、コネクタをサーバー モードで構成した場合のみ利用可能です。 |
HTTP タイムアウト (秒) | 入力コネクタが、クエリを実行した外部 Web サービスからの応答を待機する最大時間 (秒単位) を指定します。 値は 1 ~ 2147483 の整数である必要があります。 デフォルト値は [30] 秒です (つまり、30 秒間応答がなければ HTTP リクエストはタイムアウトします)。 |
ラーニング モード | [ラーニング モード] を有効にするか無効にするかを指定します。 [ラーニング モード] が [はい] に設定されている場合、インバウンド アダプターが作成し、維持しているジオイベント定義に新しいフィールドが付加されます。
[ラーニング モード] は、入力コネクタが構築したジオイベント定義を修正できるようにする場合に便利です。 このパラメーターの目的とは、受信したイベント データが可変的なスキーマやデータ構造を持つことを一時的に許可することです。 入力コネクタは、受信したデータ レコードのサンプルを使用して可変的なデータ構造について学習し、これまでに観測されなかった新しい属性フィールドを既存のジオイベント定義に付加します。 ジオイベント定義のリアルタイム変更を許可すると、ジオイベント サービスのリアルタイム解析の設計に悪影響が及ぶことがあります。 インバウンド イベント データでスキーマのばらつきが予期される場合は、[ラーニング モード] をできる限り短い期間で使用し、インバウンド データで予期されるすべてのバリエーションをサポートするジオイベント定義を生成することをお勧めします。 その後でラーニング モードをオフにし、自動生成されたジオイベント定義をコピーして、本番デプロイメント用に調整することができます。 |
検討事項および制限事項
ポーリング入力では、HTTP/GET リクエストを常に使用します。これには Content-Body が含まれません。また、対象のデータを指定するために、クエリ パラメーターを使用します。 次のパラメーターは、外部の Web サーバーまたは Web サービスにデータを送信する出力コネクタにのみ適用されます。 [HTTP メソッド] パラメーターが [HTTP/GET] (デフォルト) に設定されていて、次のパラメーターが非表示になっていることを確認します。
パラメーター | 説明 |
---|---|
Post From (条件) | このコネクタが HTTP/POST または HTTP/PUT リクエストを使用するかどうかを指定します。
このパラメーターは、[HTTP メソッド] が [Post] か [Put] に設定されている場合に表示され、[Get] に設定されている場合は非表示になります。 |
Post Body (条件) | HTTP/POST または HTTP/PUT リクエストの Content-Body に含めるデータを指定します。 このパラメーターは、[記事の差出人] が [コンテンツの本文] に設定されている場合に表示され、[パラメーター] に設定されている場合は非表示になります。 |
記事の本文の MIME タイプ (条件) | HTTP リクエストのコンテンツの本文に含まれるデータの MIME タイプを指定します。 MIME タイプは、通常はタイプ/サブタイプで構成され、HTTP クライアント/サーバーが使用し、許可するインターネット メディア タイプを指定する際に使用されます。 このパラメーターは、[記事の差出人] が [コンテンツの本文] に設定されている場合に表示され、[パラメーター] に設定されている場合は非表示になります。 |
POST Parameters (条件) | HTTP リクエストの一部として含まれるパラメーターを指定します。 [パラメーター] は、名前:値ペア (コロンも含む) をカンマで区切って指定する必要があります。 このパラメーターにはデフォルト値がありません。 このパラメーターは、[記事の差出人] が [パラメーター] に設定されている場合に表示され、[コンテンツの本文] に設定されている場合は非表示になります。 |