イントロダクション¶
Cepheus-CEP は、FIWARE Data Handling GE のための NGSI 9/10インターフェイスを備えたゲートウェイレベルの複合イベントプロセッサ(CEP)を提供します。
Cepheus-CEP は、センサによって提供されるデータからの基本的なイベントをローカルで処理し、より高いレベルの集約されたイベントを生成することを可能にします。イベントの入出力はすべて、NGSI 情報モデルに準拠した HTTP リクエストを介して行われます。
CEPについて¶
CEP の目的は、リアルタイムでデータを処理することです。しばしば実装される機能には、さまざまなソースからのリアルタイムデータのフィルタリング、集約およびマージが含まれます。
CEP のおかげで、アプリケーションはそれらに関連する付加価値データだけをサブスクライブすることが容易になります。CEP 技術は、イベントストリーム分析、またはリアルタイムイベント相関とも呼ばれます。
Cepheus-CEP で使用される CEP エンジンである Esper の詳細については、そのプレゼンテーションとドキュメントを参照してください。
API の概要¶
Cepheus-cep には2つの HTTP APIs があります :
- 管理 REST エンドポイントは現在の構成へのアクセスを提供し、それを更新することを意味します
- NGSI エンドポイントは、他の NGSI コンポーネント(コンテキスト・プロバイダおよびコンテキスト・ブローカ)との通信手段を提供します
管理エンドポイント¶
管理エンドポイントは、構成全体が使用可能な単一の REST エンドポイントを定義します。エンドポイントのパスは /v1/admin/config
です。エンドポイントは、GET
と POST
の2つのHTTP動詞を受け入れます。
GET v1/admin/config
このエンドポイントは、実際の設定を 200 Ok
ステータスコード付きの JSON オブジェクトとして返します。
また、設定が利用できない場合は、404 Not found
コードを返すこともできます。
例:
curl -H 'Accept: application/json' http://localhost:8080/v1/admin/config
POST v1/admin/config
このエンドポイントは、JSON として本体に与えられた新しい設定を適用します。
エンドポイントは正常な操作で、200 Ok
を返します。新しい構成を適用できない場合に、400 Bad Request
を返します。
新しい設定が CEP に正常に適用されると、設定はディスクに保存されます。Cepheus-cep を後で再起動すると、起動時に自動的に最後の設定がロードされます。
例:
cat config.json | curl -H 'Accept: application/json' -H 'Content-Type: application/json' -d @- http://localhost:8080/v1/admin/config
JSON 設定の内容については、JSON 設定セクションを参照してください。
DELETE v1/admin/config
このエンドポイントは、現在の構成を削除します。削除が成功すると 200 Ok
を返します。
例:
curl -X DELETE http://localhost:8080/v1/admin/config
GET v1/admin/statements
このエンドポイントは、ステートメントのリストを 200 Ok
ステータスコード付きの JSON オブジェクトとして返します。
リストが空の場合は、404 Not found
コードを返します。
例:
curl -H 'Accept: application/json' http://localhost:8080/v1/admin/statements
NGSI エンドポイント¶
Cepheus-CEP は、CEP が他の NGSI コンポーネントと通信する必要がある NGSI 標準オペレーションのサブセットのみをサポートします。
2つの排他的ではないメソッドによって、着信イベントとしてマップされたコンテキスト要素の更新を受け取ることができます :
- ngsi10/updateContext または v1/updateContext オペレーションを介して直接更新を受信することによって
- ngsi10/subscribeContext を使用してコンテキスト・ブローカに登録した後、ngsi10/notifyContext または v1/notifyContext を受信することよってサブスクライバとして機能
Cepheus-CEP は、ブローカへの ngsi10/updateContext
リクエストを使用して、発信イベントの場合、コンテキスト・エンティティへの更新をパブリッシュします。