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