Skip To Content

REST エンドポイントで JSON を受信

[REST エンドポイントで JSON を受信] 入力コネクタは、汎用 JSON として書式設定したイベント データを、ArcGIS GeoEvent Server でホストされる REST エンドポイントで受信し、適合するために使用されます。標準的な GeoEvent Server 構成の場合、データ プロバイダーは https://<machine_name>.<domain>:6143/geoevent/rest/receiver/name として書式設定されたエンドポイントに HTTP/POST でデータを送信することを想定しておく必要があります。ここで「name」とは、構成された入力コネクタの名前を指します。

配列に 3 つのイベント レコードを含む汎用 JSON のブロック

使用上の注意

  • この入力コネクタを使用し、汎用 JSON として書式設定されたデータを受信します。このデータは、GeoEvent Server がホストする REST エンドポイントに HTTP/POST で送信されます。
  • この入力コネクタは、JSON インバウンド アダプターと HTTP インバウンド トランスポートを組み合わせます。
  • 一般的な汎用 JSON のブロックを、上に示します。この例では、3 つのイベント レコードを配列に整理します。
  • アダプターは、配列の各オブジェクトを個別のイベント レコードとして処理します。
  • GeoJSON とフィーチャ JSON は、いずれも汎用 JSON のバリアントです。これらの特有の形式を処理するため、異なる GeoEvent Server アダプターが使用されます。
  • JSON 構造の詳細については、GeoNet ブログ記事「JSON Data Structures - Working with Hierarchy and Multicardinality」をご参照ください。
  • 新しい入力を構成して保存すると、GeoEvent Server がホストする REST エンドポイントが作成されます。
  • 入力を保存した後に編集すると、GeoEvent Server がホストする REST エンドポイントへの完全修飾パスを復元できます。
  • GeoEvent Server では、REST レシーバーに対して異なる基本 URL を使用したり、6143 以外のポート経由で接続したりするよう構成できます。
  • データ プロバイダーは、送信データに関連する MIME タイプを HTTP/POST のヘッダーに含める必要があります。
  • 入力を構成する場合は、トランスポートが許可する MIME タイプを指定する必要があります。
  • この入力コネクタでは、クライアントとサーバー間の JSON 送受信のデフォルト MIME タイプである [application/json] を想定しています。
  • アダプターは、X、Y、Z 属性値からポイント ジオメトリを構築することができます。
  • トランスポートは、HTTP/GET リクエストと HTTP/POST リクエストの両方を許可します。通常、データ プロバイダーは HTTP/POST リクエストを行って GeoEvent Server にイベント データを送信します。このとき、リクエスト本文にフィーチャ JSON を含め、クエリ パラメーターは使用しません。ただし、この入力コネクタは、HTTP/GET リクエストの URL の 1 つ以上のクエリ パラメーターとしてデータが含まれる場合、汎用 JSON として書式設定されたイベント データを抽出することもできます。この機能を利用するには、[Get リクエストには未加工データが含まれます] を使用します。詳細については、GeoNet ブログ記事「Enhancements to the GeoEvent Server HTTP Inbound Transport」をご参照ください。
  • この入力コネクタには [Learning Mode] が含まれます。Learning Mode は、入力コネクタが構築したジオイベント定義を修正できるようにする場合に便利です。このプロパティの目的とは、受信したイベント データが可変的なスキーマやデータ構造を持つことを一時的に許可することです。入力コネクタは、受信したデータ レコードのサンプルを使用して可変的なデータ構造について学習し、これまでに観測されなかった新しい属性フィールドを既存のジオイベント定義に付加します。

    ジオイベント定義のリアルタイム変更を許可すると、ジオイベント サービスのリアルタイム解析の設計に悪影響が及ぶことがあります。インバウンド イベント データでスキーマの不一致が予期される場合は、Learning Mode をできる限り短い時間にわたって使用し、インバウンド データで予期されるすべてのバリアントをサポートするジオイベント定義を生成することをお勧めします。その後 [Learning mode] をオフにし、自動生成されたジオイベント定義をコピーして、本番配置用に調整することができます。

パラメーター

パラメーター説明

名前

GeoEvent Manager で参照用として使用される入力コネクタの記述名。

デフォルト空間参照

座標値が、想定されている WGS84 地理座標系システムの緯度と経度の値ではない属性フィールド値をもとにジオメトリを作成するか、受信したジオメトリ文字列に空間参照が含まれない場合に使用される空間参照の Well-Known ID (WKID)。WKID または Well-Known Text (WKT) を含む属性フィールドの WKT 値または名前が指定されることもあります。

JSON オブジェクト名

受信した JSON データ内の下部構造のルート ノードとして使用される JSON 要素の名前。[JSON オブジェクト名] を使用して JSON 要素を名前で指定する場合、アダプターは、オブジェクト名が指定した要素名と一致する下部構造を検索します。特定された下部構造内のデータだけが考慮されます。この設定を空白のままにすると (デフォルト)、最上位の JSON オブジェクトが JSON 構造全体のルートとして使用されます。

ジオイベント定義の作成

インバウンド イベント データに新しいジオイベント定義を使用するか、既存のジオイベント定義を使用するかを指定します。GeoEvent Server がインバウンド データ属性フィールドおよびデータ タイプを理解するには、ジオイベント定義が必要です。

  • はい – 最初に受信したイベント レコードのスキーマに基づき、新しいジオイベント定義が作成されます。
  • いいえ – 新しいジオイベント定義は作成されません。インバウンド イベント データのスキーマに一致する、既存のジオイベント定義が選択されます。

ジオイベント定義名 (新規)

(条件)

新しいジオイベント定義に与えられる名前。指定した名前を持つジオイベント定義がすでに存在する場合、既存のジオイベント定義が使用されます。最初に受信したデータ レコードを使用し、後続のデータ レコードで予期されるスキーマを決定します。新しいジオイベント定義は、最初のデータ レコードのスキーマに基づいて作成されます。

このプロパティは、[ジオイベント定義の作成][はい] に設定されている場合に表示され、[いいえ] に設定されている場合は非表示になります。

ジオイベント定義名 (既存)

(条件)

受信したデータを適合して、GeoEvent Service によって処理されるイベント データを作成する際に使用する、既存のジオイベント定義の名前。

このプロパティは、[ジオイベント定義の作成][いいえ] に設定されている場合に表示され、[はい] に設定されている場合は非表示になります。

デフォルト空間参照

座標値が、想定されている WGS84 地理座標系システムの緯度と経度の値ではない属性フィールド値をもとにジオメトリを作成するか、受信したジオメトリ文字列に空間参照が含まれない場合に使用される空間参照の Well-Known ID (WKID)。WKID または Well-Known Text (WKT) を含む属性フィールドの WKT 値または名前が指定されることもあります。

使用できる 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 タイプ」をご参照ください。

推定される日付形式

日付時間値として予期される文字列表現を一致させ、それを Java Date 値に変換するために使用されるパターン。パターンの形式は、Java SimpleDateFormat クラス変換に従います。このプロパティにはデフォルト値はありません。

GeoEvent Server では、日付/時間値を ISO 8601 標準で表すことを推奨していますが、日付値として一般的に認識されている日付/時間値の文字列表現のいくつかは、[推定される日付形式] パターンを指定しなくても Java Date 値に変換することができます。これらの要件を次に示します。

  • "2019-12-31T23:59:59" - ISO 8601 標準形式
  • 1577836799000 - Java Date (紀元からの時間を示す Long 型整数、UTC)
  • "Tue Dec 31 23:59:59 -0000 2019" - 一般的な Web サービス文字列形式
  • "12/31/2019 11:59:59 PM" - 米国で使用される一般的な形式 (12 時間形式)。
  • "12/31/2019 23:59:59" - 米国で使用される一般的な形式 (24 時間形式)。

受信した日付/時間の値が、上記の 5 つ以外の形式で表される場合は、GeoEvent Server が日付/時間値を適合する方法を把握できるよう、[推定される日付形式] を指定する必要があります。

フィールドからジオメトリを作成

入力コネクタが、属性として受信した座標値を使用してポイント ジオメトリを作成するかどうかを指定します。デフォルトは [いいえ] です。

  • はい - 指定したイベント属性の値を使用し、ポイント ジオメトリを作成します。
  • いいえ - ポイント ジオメトリは作成されません。属性フィールドには、ジオメトリとして解釈される値が含まれているか、イベント レコードが非空間である (ジオメトリがない) と想定されます。

X ジオメトリ フィールド

(条件)

ポイント位置の X 座標部 (水平、経度など) を含むインバウンド イベント データの属性フィールド。

このプロパティは、[フィールドからジオメトリを作成][はい] に設定されている場合に表示され、[いいえ] に設定されている場合は非表示になります。

Y ジオメトリ フィールド

(条件)

ポイント位置の Y 座標部 (垂直、緯度など) を含むインバウンド イベント データの属性フィールド。

このプロパティは、[フィールドからジオメトリを作成][はい] に設定されている場合に表示され、[いいえ] に設定されている場合は非表示になります。

Z ジオメトリ フィールド

(条件)

ポイント位置の Z 座標部 (深さ、高さなど) を含むインバウンド イベント データのフィールド名。空白のままにすると Z 値は省略され、2D ポイント ジオメトリが作成されます。

このプロパティは、[フィールドからジオメトリを作成][はい] に設定されている場合に表示され、[いいえ] に設定されている場合は非表示になります。

Learning Mode

[Learning Mode] を有効にするか無効にするかを指定します。Learning Mode が [はい] に設定されている場合、インバウンド アダプターが作成し、維持しているジオイベント定義に新しいフィールドが付加されます。

  • はい - Learning Mode が有効になります。ジオイベント定義は、異なるスキーマを持つイベント レコードの新規フィールドで更新されます。
  • いいえ - Learning Mode は有効になりません。ジオイベント定義は修正されません。

[Learning Mode] は、入力コネクタが構築したジオイベント定義を修正できるようにする場合に便利です。このプロパティの目的とは、受信したイベント データが可変的なスキーマやデータ構造を持つことを一時的に許可することです。入力コネクタは、受信したデータ レコードのサンプルを使用して可変的なデータ構造について学習し、これまでに観測されなかった新しい属性フィールドを既存のジオイベント定義に付加します。

Get リクエストには未加工データが含まれます

コネクタが、受信した HTTP リクエストに含まれるデータをどのように処理するかを指定します。[未加工データのパラメーター名] でクエリ パラメーターの名前が指定されている場合、HTTP/GET リクエストを使用し、単一のクエリ パラメーターの値として未加工データを送信することができます。それ以外の場合は、HTTP/GET リクエストには複数のクエリ パラメーターを含める必要があります。これらのクエリ パラメーターの名前は、コネクタで使用するよう構成したジオイベント定義で指定された属性フィールドに対応する必要があります。

このコネクタは JSON インバウンド アダプターを使用するため、1 つのクエリ パラメーター形式が使用される場合、その値を汎用 JSON として書式設定する必要があります。リクエストのコンテンツ本文は、HTTP/GET リクエストを使用してデータを送信する場合は空でなくてはなりません。データは通常、クエリ パラメーターのない HTTP/POST リクエストを使用して送信されます。リクエストのペイロードは、リクエストのコンテンツ本文にイベント データを含む汎用 JSON として書式設定されることが想定されます。HTTP/POST を使用し、GeoEvent Server にイベント データを送信する場合は、リクエストのクエリ パラメーターに含まれるデータは無視されます。

  • はい - HTTP/GET リクエストを受信することを想定し、特定のクエリ パラメーターからイベント データを抽出します。リクエストの未加工データのソースとして考慮されるのは 1 つのクエリ パラメーターだけであり、リクエストのコンテンツ本文は空である必要があります。
  • いいえ - HTTP/POST リクエストを受信したときにクエリ パラメーターを無視し、リクエストのコンテンツ本文からイベント データを抽出します (このイベント データは Generic JSON として書式設定します)。HTTP/GET リクエストを受信すると、リクエストのコンテンツ本文は空である必要があり、イベント データを複数のクエリ パラメーターから抽出する必要があります。これらのクエリ パラメーターの名前は、使用されるジオイベント定義に対応します。

未加工データのパラメーター名

(条件)

インバウンド HTTP/GET リクエストに対して未加工データを指定する値を含むクエリ パラメーターの名前。クエリ パラメーターの値は、汎用 JSON として書式設定された、単一の文字列である必要があります。

このプロパティは、[Get リクエストには未加工データが含まれます][はい] に設定されている場合に表示され、[いいえ] に設定されている場合は非表示になります。


このトピックの内容
  1. 使用上の注意
  2. パラメーター