Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Sv translation
languageja

モジュールの概要

Receiverは、IoTデバイス(HTTP POST、MQTTサーバー、Websocketsサーバー)からデータを受信し、最終的に3rdパーティが発行したデータをサブスクライブします(MQTTサブスクライブ、Websocketsサブスクライブ)。認証とメッセージ検証のメカニズムを提供して、データのセキュリティと整合性を確保します。は、IoTデバイス (HTTP POST、MQTTサーバー、Websocketsサーバー) からデータを受信し、最終的に3rdパーティが発行したデータをサブスクライブします (MQTTサブスクライブ、Websocketsサブスクライブ)。認証とメッセージ検証のメカニズムを提供して、データのセキュリティと整合性を確保します。

Receiverが動作可能ないくつかのモードがあります (エンドポイントタイプ):

  • MQTTサーバー  - モジュールはMQTTブローカーとして実行されているため、デバイスはメッセージをサブスクライブまたは発行できます
  • MQTT consumer - モジュールは既存のMQTTブローカーをサブスクライブし、そこからメッセージを受信します
  • HTTP POST consumer - モジュールは、デバイスからのデータを含むHTTP POSTリクエストを受け入れます
  • UDPサーバー - モジュールは、デバイスからのデータを含むUDPデータグラムを受け入れます
  • Telnetサーバー/クライアント - モジュールはtelnetサーバーまたはtelnetクライアントとして実行されています
  • Websocketsサーバー/クライアント - モジュールはWebsocketsサーバーまたはクライアントとして実行されています
  • カスタム - モジュールはカスタム実装を使用しています
Tip

すべての構成オプションについて詳しくは、Receiver configurationを参照してください。

モジュールのライフサイクル

モジュールがデータを受信する方法に関係なく、メッセージがReceiver側に到着すると、次のプロセスが適用されます:

  1. メッセージはReceiverによって受信されます
  2. 認証フローが実行されます
  3. メッセージ形式が決定されます (XML、JSON、bytesなど)
  4. メッセージは正規化された内部形式に変換されます
  5. メッセージルールがチェックされます
    1. メッセージルールチェックを通過すると、メッセージは内部メモリに格納され、値はAudit(監査)モジュールに伝播されます (最後に受信したメッセージとして)
    2. 渡されない場合、メッセージは拒否/無視されます

認証

クライアントは、次の方法を使用して認証できます:

  • basic/digest - ユーザー名/パスワードベースの認証
  • client SSL certificate - クライアントは自身を認証するためにSSL証明書を提供します
  • source IP - 特定のIPアドレスからのリクエストのみが許可されます

メッセージルール

Receiverによって収集された各メッセージは、構成で定義されたメッセージコンテンツルールを評価するReceiverのメッセージプロセッサによって処理されます (receivers[].messageRules を参照)。メッセージルールには次の3つのタイプがあります:

  • Content constraint - モジュールは、メッセージに特定のコンテンツが含まれているかどうかをチェックします
  • Structure constraint - モジュールは、メッセージに特定の構造が含まれているかどうかをチェックします
  • Device ID filter - モジュールは、device IDがホワイトリストにあるかどうかをチェックします

メッセージルールを通過しない場合、メッセージは拒否されます。それ以外の場合、Receiverはそれらを内部ストレージに格納します。

ロール

 このモジュールは次の役割をサポートします:

ModuleRole許可された操作
ReceiverSENSORコレクターにデータを送信できます (HTTP POST, MQTT_PUBLISH, ...)
ReceiverVIEWERGET /status, GET /data
ReceiverEDITORGET /data, GET/status, DELETE /data

 

モジュールのステータス

このモジュールは、次のいずれかのステータスになります:

VerticleStatus説明
ReceiverUPモジュールは稼働しています。特定の制限なしで動作します。
PAUSEDモジュールは一時停止しており、データを受信して​​いません。"GET /"へのリクエストは、レスポンスコード405で終了します。

 

APIエンドポイント

このモジュールは、次のHTTPエンドポイントを提供します:

PathMethod説明URLパラメーター
/GET

ECHOメッセージ付きのプレーンテキストを返します(UP/DOWNステータスを検出するためにロードバランサーで使用する必要があります)ECHOメッセージ付きのプレーンテキストを返します  (UP/DOWNステータスを検出するためにロードバランサーで使用する必要があります)


https://localhost:8001/
/statusGETReturns JSON object that contains internal state of audit verticle (e.g. total count of sensors)Auditバーティクルの内部ステータス (センサーの合計数など) を含むJSONオブジェクトを返します
https://localhost:8001/status
/configPOSTSets the configuration to the module. ADMIN role is required.

モジュールに構成を設定します。 ADMINロールが必要です

  • POST body content = config in JSON format
https://localhost:8001/config
/reloadPOSTForces reloading configuration of module. ADMIN role is required.

モジュールの構成を強制的に再読み込みします。 ADMINロールが必要です

  • name = module_name
https://localhost:8001/reload
/dataGETReturns JSON array that contains data stored in receiver's internal memory

Receiverの内部メモリに格納されているデータを含むJSON配列を返します

  • order = "ASC" / "DESC" (default: "ASC")
  • start = from timestamp (default: 0)
  • stop = to timestamp
  • receiver_id = receiver identification
  • sensor_id = sensor identification
  • limit = page size (default: 100)
https://localhost:8001/data
/dataDELETE

Receiverの内部メモリから指定されたデータを削除します

  • order = "ASC" / "DESC" (default: "ASC")
  • start = from timestamp (default: 0)
  • stop = to timestamp
  • receiver_id = receiver identification
  • sensor_id = sensor identification
  • limit = page size (default: 100)
https://localhost:8001/data
/pauseGETReceiverバーティクルのステータスを直ちにPAUSEDに設定します。"GET /status"エンドポイントから応答を返します (上記を参照)
https://localhost:8001/pause
/resumeGETReceiverバーティクルのステータスを直ちにUPに設定します。"GET /status"エンドポイントから応答を返します (上記を参照)
https://localhost:8001/resume
/logoutGET

現在ログインしているユーザーのログアウトを実行します


https://localhost:8001/logout


このページでは

Table of Contents