[フィーチャをストリーム サービスに送信] 出力コネクタは、イベント データをストリーム サービスの WebSocket を通じてフィーチャ JSON としてブロードキャストするために使用されます。クライアント アプリケーションは、ストリーム サービスの WebSocket に登録してブロードキャスト中のフィーチャ レコードを受信することができます。
ストリーム サービスは、ArcGIS Server の REST Services Directory のコンテンツを参照する際に検出可能である点が、従来のマップ サービスやフィーチャ サービスと似ています。ストリーム サービスとは、ArcGIS GeoEvent Server ライセンス ロールで ArcGIS Enterprise にリアルタイム機能が追加された場合にのみ使用できる ArcGIS Server サービスです。ストリーム サービスでは、クライアント/サーバー ワークフローで低遅延のリアルタイム データ配信を重視しています。ストリーム サービスと従来のマップ サービスやフィーチャ サービスとの主な相違点とは、ストリーム サービスは一般的にデータの持続性がない点です。ストリーム サービスの [アーカイブ] 機能は、この点に対する例外です。ストリーム サービスでは WebSocket 技術を利用して、クライアントとの双方向通信とデータ配信を行います。クライアントは、ジオデータベースにポーリングしてデータを取得するのではなく、データをリアルタイムで受信するために、このサービスに登録します。
公開済みのストリーム サービスは、[フィーチャをストリーム サービスに送信] 出力コネクタが構成されており、GeoEvent Service に組み込まれていない限り、データの受信やブロードキャストは行いません。ストリーム サービスの詳細については、「ストリーム サービス」をご参照ください。「ストリーム サービスのチュートリアル」には、ストリーム サービスへの理解を深めるための演習もあります。ストリーム サービス機能の動画については、GeoNet ブログ「Stream Services, Store Latest, and Related Features」をご参照ください。
使用上の注意
- この出力コネクタを使用し、イベント レコード データをフィーチャ JSON として書式設定し、ストリーム サービスの WebSocket を通じてフィーチャ レコードをブロードキャストします。
- この出力コネクタは、JSON アウトバウンド アダプターとストリーム サービス アウトバウンド トランスポートをペアにします。
- ストリーム サービスを使用するには、ライセンス付与された ArcGIS Server と ArcGIS GeoEvent Server が必要であり、ArcGIS GeoEvent Server サービスを実行する必要があります。
- ArcGIS Server の下では ArcGIS GeoEvent Server が動作しています。ArcGIS Server は ArcGIS Enterprise ポータルとフェデレートされていることがありますが、ストリーム サービスの利用は、ArcGIS Server がフェデレートされていない場合の方が簡単に行えます。
- [ストリーム サービスの公開] は新しい出力を設定するときに使用できる機能で、GeoEvent Manager からストリーム サービスを直接公開することができます。
- ストリーム サービスを公開する場合は、GeoEvent Server に登録されたサーバー接続をデフォルト データ ストアとして使用する必要があります。
- ストリーム サービスを公開するには、ストリーム サービスに含めるフィールドがスキーマに反映された、既存のジオイベント定義が必要です。
- ストリーム サービスの基礎にある WebSocket は、ArcGIS Enterprise ではなく ArcGIS GeoEvent Server の一部として動作します。デフォルト サーバー接続を使用してストリーム サービスを公開し、そのサーバー接続の URL が ArcGIS Enterprise ポータルのエンドポイントを反映している場合は、ArcGIS GeoEvent Server が動作するコンピューターへのストリーム サービスの公開は、サービス公開のメカニズムによって処理されます。公開したサービスは、コンテンツ アイテムとして ArcGIS Enterprise ポータルに登録されます。
- ワークフローを分離するためのベスト プラクティスとして、ArcGIS GeoEvent Server が動作するコンピューターとは異なるサーバー マシンに ArcGIS Enterprise を配置することをお勧めしています。GeoEvent Server のデフォルト サーバー接続は、ストリーム サービスを公開する正しいコンピューターを特定するための情報を保持しています。
パラメーター
パラメーター | 説明 |
---|---|
名前 | GeoEvent Manager で参照用として使用される出力コネクタの記述名。 |
ArcGIS Server コネクション | GeoEvent Server にデータ ストアとして登録された ArcGIS Server または ArcGIS Enterprise 接続。 備考:GeoEvent Server の [デフォルト] データ ストアとして登録されている ArcGIS Server または ArcGIS Enterprise 接続を、ストリーム サービスの公開時に使用することをお勧めします。ストリーム サービスは、GeoEvent Server ロールのライセンスが付与された ArcGIS Server に公開する必要があります。GeoEvent Server としてライセンス付与も構成もされていない ArcGIS Server には、ストリーム サービスを公開できません。 |
フォルダー | ArcGIS REST Services Directory で検出可能な ArcGIS Server サービス フォルダー。 現在のところ、ストリーム サービスは、ArcGIS Enterprise ポータル コンテンツのアイテム フォルダーには公開できません。ArcGIS Enterprise ポータルとフェデレートした場合は、[Root] フォルダーにストリーム サービスを公開する必要があります。 |
フォルダー | 処理済みのイベント データを新しいフィーチャ レコードとして追加するフィーチャ サービスの名前。 |
ストリーム サービス名 | 処理済みのイベント データをフィーチャ レコードとして送信するストリーム サービスの名前。 |
更新間隔 (秒) | 出力コネクタが処理済みのイベント レコードをフィーチャ レコードとして指定のストリーム サービスに送信し、処理済みのイベント レコードをキャッシュからフラッシュする間隔 (秒単位) を指定します。デフォルトは [0.1] 秒です。つまり、処理済みイベント レコードのデータはキャッシュされ、キャッシュは毎秒 10 回フラッシュされます。 ストリーム サービスでは低遅延のリアルタイム データ配信に重点を置いているため、フィーチャ レコードとしてブロードキャストされるイベント レコードは、最小限の属性と簡易的なジオメトリで比較的シンプルにしておく必要があります。 |
フォーマット済 JSON | フィーチャ JSON 文字列を、空白インデントと改行書式で整形するかどうかを指定します。この JSON は PJSON と呼ばれることもあり、通常は、テキスト エディターでコンテンツを確認するシステム ファイルに書き込む場合にのみ適しています。デフォルトは [いいえ] です。
|
一意のトラック ID を設定 | イベント レコードのタグ付けされた TRACK_ID フィールドを、ストリーム サービスによってブロードキャストされるフィーチャ レコードを更新するための一意の ID として使用するかどうかを指定します。デフォルトは [いいえ] です。 |
制限事項
[一意のトラック ID を設定] プロパティは、クライアント アプリケーションを登録するための情報を提供することを目的としています。これによって、クライアント アプリケーションの動作が、シンプルなフィーチャ レコード レシーバーから、フィーチャ レコードの更新を許可する動作に変わります。プロパティが [いいえ] (デフォルト) に設定されている場合、ストリーム サービスのブロードキャストに登録するクライアントは、各フィーチャ レコードを新しい観測値として処理します。全体的な動作は、フィーチャの追加ワークフローを模倣します。すなわち、各フィーチャ レコード ブロードキャストに対し、新しいフィーチャ レコードが表示されます。[一意のトラック ID を設定] プロパティを [はい] に設定すると、フィーチャ ワークフローの更新を模倣する動作に変わります。すなわち、新しいフィーチャ レコードがストリーム サービスによってブロードキャストされると、フィーチャ レコードの最後の位置と属性が更新されることがあります。
実際には、[一意のトラック ID を設定] プロパティの設定は重要ではありません。このプロパティ値を変更しても、JSON 仕様の公開ストリーム サービスは変わりません。現在、ArcGIS Enterprise と ArcGIS Online の StreamLayer の Web マップ実装では、ストリーム サービスで指定された trackIdField を使用しています。これはサービスの timeInfo 仕様にあり、フィーチャ レコードのブロードキャストのたびにストリーム レイヤーが新しいフィーチャ レコードを表示するか、あるいは新しいフィーチャ レコードがブロードキャストされると以前に受信したフィーチャ レコードを更新するかを決定します。ArcGIS API for JavaScript を使用して実装された Web マッピング アプリケーションでは、この動作を模倣するか、独自の動作を実装するかを選択できます。
[一意のトラック ID を設定] プロパティを [いいえ] (デフォルト) に設定し、フィーチャの追加またはフィーチャの更新の動作を属性フィールドのタグ付けによって制御することをお勧めします。この属性フィールド値は、センサーまたはトラッキング可能なアセットを一意に識別するために使用されます。
属性フィールドに TRACK_ID とタグ付けしたジオイベント定義を使用してストリーム サービスを公開すると、クライアント アプリケーションは公開したサービスで指定された trackIdField から属性フィールドの名前を取得し、新しいフィーチャ レコードがブロードキャストされると、レイヤーのキャッシュやフィーチャの表示を更新します。属性フィールドに TRACK_ID とタグ付けされていないジオイベント定義を使用してストリーム サービスを公開すると、公開したストリーム サービスの仕様には trackIdField 値が含まれません。そのため、クライアントでは、すべてのフィーチャ ブロードキャストを特定のセンサーやトラッキング可能なアセットに関連していない、一意の観測として処理することがデフォルトの動作になります。