フォルダーを監視 (新規 JSON ファイル) 入力コネクタを使用すると、汎用 JSON として書式設定したイベント データをシステム ファイルから読み取って適合させることができます。 ArcGIS GeoEvent Server での汎用 JSON データ レコードの書式設定の例については、Esri Community ブログ記事「JSON Data Structures - Working with Hierarchy and Multicardinality」をご参照ください。
複数のイベント データ レコードが汎用 JSON ファイルで指定されている場合は、次に示すように、配列として整理する必要があります。 JSON インバウンド アダプターは、各オブジェクトの配列を個別のイベント レコードとして管理します。 以下に示す JSON は、GeoEvent Service が処理するイベント データ レコードを 3 つ生成するよう適合されます。
使用上の注意
フォルダーを監視 (新規 JSON ファイル) 入力コネクタを使用する際には、次の点に注意してください。
- この入力コネクタを使用し、汎用 JSON として書式設定されたデータをシステム ファイルから読み込み、それを適合してイベント データ レコードを作成して処理します。
- この入力コネクタは、JSON インバウンド アダプターとファイル インバウンド トランスポートを組み合わせます。
- 入力コネクタは、特定のシステム フォルダーを監視して、ファイルがフォルダーに出現すると同時にファイル全体を読み取ります。
- ファイルに対して変更が加えられ、保存されると、ファイル全体のコンテンツが再読み込みされます。
- 次のような場合には、監視対象のフォルダーに含まれるすべてのファイルが、ファイルの最初から再読み込みされます。
- 入力コネクタのパラメーターが更新されて保存された。
- 入力コネクタが停止し、再起動された (または ArcGIS GeoEvent Server サービスが再起動された)。
- 汎用 JSON レコードには、ジオメトリを表すデータを含める必要はありません。
- アダプターでは、X、Y、Z 属性値からポイント ジオメトリを構築することができます。
- [入力フォルダのデータ ストア] パラメーターで指定された登録済みのサーバー フォルダーは、絶対パスまたたは UNC パスを使用して定義できます。 UNC パスが使用される場合、GeoEvent Server を実行する Windows サービス アカウントにはフォルダーへの読み取り/書き込み許可が必要です。
- [入力フォルダーのデータ ストア] パラメーターには、C:\GeoEvent\input のような絶対パスを使用することをお勧めします。
- [入力ディレクトリ] パラメーターでは、登録済みのサーバー フォルダーの相対的なサブフォルダーを指定できます。
- [サブフォルダーを含める] パラメーターでは、[入力フォルダーのデータ ストア] パラメーターに指定されたフォルダーの下にあるフォルダーを再帰的に検索するかどうかを指定できます。 多くの場合、異なるスキーマを持つデータを異なるフォルダーに分けて整理し、[サブフォルダーを含める] をデフォルト設定から変更して再帰的検索を無効にすると、この入力コネクタの構成をより直接的かつシンプルにすることができます。
- この入力コネクタには [Learning Mode] パラメーターが含まれています。Learning Mode は、入力コネクタが構築したジオイベント定義を修正できるようにする場合に便利です。 このパラメーターの目的とは、受信したイベント データが可変的なスキーマやデータ構造を持つことを一時的に許可することです。 入力コネクタは、受信したデータ レコードのサンプルを使用して可変的なデータ構造について学習し、これまでに観測されなかった新しい属性フィールドを既存のジオイベント定義に付加します。
ジオイベント定義のリアルタイム変更を許可すると、ジオイベント サービスのリアルタイム解析の設計に悪影響が及ぶことがあります。 インバウンド イベント データでスキーマのばらつきが予期される場合は、Learning Mode をできる限り短い期間で使用し、インバウンド データで予期されるすべてのバリエーションをサポートするジオイベント定義を生成することをお勧めします。 次に、Learning Mode をオフにして、自動生成されたジオイベント定義をコピーし、運用環境に配置できるように調整することができます。
- ネットワーク遅延が発生すると、大量のイベント データを取得する GeoEvent Server の機能に悪影響が及びます。
パラメーター
フォルダーを監視 (新規 JSON ファイル) 入力コネクタのパラメーターを次に示します。
パラメーター | 説明 |
---|---|
名前 | GeoEvent Manager で参照用として使用される入力コネクタの記述名。 |
入力フォルダー データ ストア | ファイルが配置される、登録済みシステム フォルダー。 |
入力ディレクトリ | 登録済みシステム フォルダーの直下のサブフォルダー。 登録済みシステム フォルダーの下にサブフォルダーが存在しない場合は、[入力ディレクトリ] を空のままにしておく必要があります。 |
入力ファイル フィルター | この入力に適したファイルを識別するための正規表現のパターン。入力は、このファイルを取り込んで適合し、処理を行うイベント データ レコードを作成します。 デフォルトは [.*\.json] です。これは、リテラル接尾辞 (.json) で終わるファイル名 ([.*]) と一致します。 このパラメーターは必須ではないので空にしておくことができますが、この入力で使用するよう構成されたジオイベント定義と一致するスキーマを持つファイル名と一致するパターンを指定し、入力で取り込まないファイルを (名前を指定して) 除外することをお勧めします。 |
デフォルト空間参照 | 座標値が、想定されている WGS84 地理座標系システムの緯度と経度の値ではない属性フィールド値をもとにジオメトリを作成するか、受信したジオメトリ文字列に空間参照が含まれない場合に使用される空間参照の Well-Known ID (WKID)。 WKID または Well-Known Text (WKT) を含む属性フィールドの WKT 値または名前が指定されることもあります。 |
サブフォルダーを含める | [入力フォルダーのデータ ストア] と [入力ディレクトリ] (任意) のサブフォルダーも、ファイル検索の対象にするかどうかを指定します。 デフォルトは [はい] です。ただし、スキーマの異なるデータを異なるフォルダーに分け、そのパラメーターを [いいえ] に変更して再帰的検索を無効にすることで、シンプルな構成が可能になります。
|
処理後にファイルを削除 | 登録済みシステム フォルダーのファイルのコンテンツを処理後、これらのファイルを削除するかどうかを指定します。 ファイルのコンテンツを適合できない場合でもイベント レコードは作成されず、リアルタイムのイベント処理は行われず、コンテンツが正常に読み込まれたファイルであってもインバウンド トランスポートによって削除されます。 デフォルトは [いいえ] です。
入力コネクタのプロパティが変更され、保存された場合、あるいは入力が停止して再起動した場合 (ArcGIS GeoEvent Server サービスを再起動した場合など) は、削除されなかったファイルは、ファイルの最初から再読み込みされます。 |
ジオイベント定義の作成 | インバウンド イベント データに新しいジオイベント定義を使用するか、既存のジオイベント定義を使用するかを指定します。 GeoEvent Server がインバウンド データ属性フィールドおよびデータ タイプを理解するには、ジオイベント定義が必要です。
|
ジオイベント定義名 (新規) (条件) | 新しいジオイベント定義に与えられる名前。 指定した名前を持つジオイベント定義がすでに存在する場合、既存のジオイベント定義が使用されます。 最初に受信したデータ レコードを使用し、後続のデータ レコードで予期されるスキーマを決定します。新しいジオイベント定義は、最初のデータ レコードのスキーマに基づいて作成されます。 このパラメーターは、[ジオイベント定義の作成] が [はい] に設定されている場合に表示され、[いいえ] に設定されている場合は非表示になります。 |
ジオイベント定義名 (既存) (条件) | 受信したデータを適合して、GeoEvent Service によって処理されるイベント データを作成する際に使用する、既存のジオイベント定義の名前。 このパラメーターは、[ジオイベント定義の作成] が [いいえ] に設定されている場合に表示され、[はい] に設定されている場合は非表示になります。 |
推定される日付形式 | 日付時間値として予期される文字列表現を一致させ、それを Java Date 値に変換するために使用されるパターン。 パターンの形式は、Java SimpleDateFormat クラス変換に従います。 GeoEvent Server では、日付/時間値を ISO 8601 標準で表すことを推奨していますが、日付値として一般的に認識されている日付/時間値の文字列表現のいくつかは、[推定される日付形式] パターンを指定しなくても Java Date 値に変換することができます。 これらには以下のものが含まれます。
受信した日付/時間の値が、上記の 5 つ以外の形式で表される場合は、GeoEvent Server が日付/時間値を適合する方法を把握できるよう、推定される日付形式パターンを指定する必要があります。 |
フィールドからジオメトリを作成 | 入力コネクタが、属性として受信した座標値を使用してポイント ジオメトリを作成するかどうかを指定します。 デフォルトは [いいえ] です。
|
X ジオメトリ フィールド (条件) | ポイント位置の X 座標部 (水平や経度など) を含むインバウンド イベント データの属性フィールド。 このパラメーターは、[フィールドからジオメトリを作成] が [はい] に設定されている場合に表示され、[いいえ] に設定されている場合は非表示になります。 |
Y ジオメトリ フィールド (条件) | ポイント位置の Y 座標部 (垂直や緯度など) を含むインバウンド イベント データの属性フィールド。 このパラメーターは、[フィールドからジオメトリを作成] が [はい] に設定されている場合に表示され、[いいえ] に設定されている場合は非表示になります。 |
Z ジオメトリ フィールド (条件) | ポイント位置の Z 座標部 (深さや高度など) を含むインバウンド イベント データのフィールド名。 空白のままにすると、Z 値が省略されて、2D ポイント ジオメトリが作成されます。 このパラメーターは、[フィールドからジオメトリを作成] が [はい] に設定されている場合に表示され、[いいえ] に設定されている場合は非表示になります。 |
JSON オブジェクト名 | 受信した JSON データ内の下部構造のルート ノードとして使用される JSON 要素の名前。 [JSON オブジェクト名] を使用して JSON 要素を名前で指定する場合、アダプターは、オブジェクト名が指定した要素名と一致する部分構造を検索します。 特定された部分構造内のデータだけが考慮されます。 この設定を空白のままにすると (デフォルト)、最上位の JSON オブジェクトが JSON 構造全体のルートとして使用されます。 |
ラーニング モード | [ラーニング モード] を有効にするか無効にするかを指定します。 [ラーニング モード] が [はい] に設定されている場合、インバウンド アダプターが作成し、維持しているジオイベント定義に新しいフィールドが付加されます。
[ラーニング モード] は、入力コネクタが構築したジオイベント定義を修正できるようにする場合に便利です。 このパラメーターの目的とは、受信したイベント データが可変的なスキーマやデータ構造を持つことを一時的に許可することです。 入力コネクタは、受信したデータ レコードのサンプルを使用して可変的なデータ構造について学習し、これまでに観測されなかった新しい属性フィールドを既存のジオイベント定義に付加します。 |
ファイルをテキスト行として読み取る | ファイルの内容を読み取って解析する方法を指定します。 デフォルトは [はい] です。
1 つ以上の JSON 配列オブジェクトを含むテキスト ファイルを操作する場合は、ファイルに含まれるテキストの行を個別に読み取るのではなく、ファイルのコンテンツをまとめて読み取ることをお勧めします。 JSON ドキュメントは、単一のドキュメントとして読み取るのに最も適しています。 |
バッチあたりの最大行数 (条件) | 各バッチまたは間隔ごとに、ファイルから読み取る最大行数。 デフォルトは [1000] 行です。 各イベント レコードに多くの属性が含まれている場合、テキスト アダプターにバッチとして送信されるデータの量を制限するには、この値を減らします。 このパラメーターは、[ファイルをテキスト行として読み取る] が [はい] に設定されている場合に表示され、[いいえ] に設定されている場合は非表示になります。 |
バッチ フラッシュ間隔 (ミリ秒) (条件) | ファイルから別のバッチの行を読み取るまでの待機時間 (ミリ秒) を指定します。 デフォルトは [500] です。 ファイル サイズが非常に大きくなることが予期される場合や、ファイルから取得されるバッチの行を処理するために長時間を要する場合には、この値を減らします。 このパラメーターは、[ファイルをテキスト行として読み取る] が [はい] に設定されている場合に表示され、[いいえ] に設定されている場合は非表示になります。 |
ファイルの先頭からスキップする行の数 (条件) | ファイルの先頭からスキップする行の数。 デフォルトは [0] です。 属性フィールド名やデータ タイプを指定するヘッダー行に、処理に使用される実際のデータが含まれない場合などに、一定の行数をスキップする場合には、この値を増やします。 このパラメーターは、[ファイルをテキスト行として読み取る] が [はい] に設定されている場合に表示され、[いいえ] に設定されている場合は非表示になります。 |
GeoJSON として | 受信ジオメトリを、フィーチャ JSON ではなく GeoJSON ジオメトリ オブジェクトとして解析するかどうかを指定します。 デフォルトでは、ジオメトリを文字列として受信した場合、「ジオメトリ オブジェクト」で示すように、値はフィーチャ JSON になります。
GeoJSON ジオメトリ オブジェクト形式の有効かつ完全な例については、「GeoJSON の仕様」をご参照ください。 1 つの GeoJSON ジオメトリ オブジェクトは、名前が [coordinates] で値が配列であるメンバーを持つと想定されます。 配列の構造は、ジオメトリのタイプによって決まります。 |