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サブスクライブ)。認証とメッセージ検証のメカニズムを提供して、データのセキュリティと整合性を確保します。

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 - module checks, whether the message contains specific contentモジュールは、メッセージに特定のコンテンツが含まれているかどうかをチェックします
  • Structure constraint - module checks, whether the message contains specific structureモジュールは、メッセージに特定の構造が含まれているかどうかをチェックします
  • Device ID filter - module checks, whether the device ID is on whitelist or notモジュールは、device IDがホワイトリストにあるかどうかをチェックします

メッセージルールを通過しない場合、メッセージは拒否されます。それ以外の場合、Receiverはそれらを内部ストレージに格納します。Messages are rejected, if they don't pass message rules. Otherwise Receiver stores them in it's internal storage.

ロール

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

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

 

モジュールのステータス

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

VerticleStatus説明
ReceiverUPModule is up and running. It operates without any specific limitations.モジュールは稼働しています。特定の制限なしで動作します。
PAUSEDModule is paused and not receiving any data. Request to モジュールは一時停止しており、データを受信して​​いません。"GET /" ends with response code 405.へのリクエストは、レスポンスコード405で終了します。

 

APIエンドポイント

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

PathMethod説明URLパラメーター
/GETReturns plain text with ECHO message (should be used in load balancer to detect UP/DOWN status)

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


https://localhost:8001/
/statusGETReturns JSON object that contains internal state of audit verticle (e.g. total count of sensors)
https://localhost:8001/status
/configPOSTSets the configuration to the module. ADMIN role is required.
  • POST body content = config in JSON format
https://localhost:8001/config
/reloadPOSTForces reloading configuration of module. ADMIN role is required.
  • name = module_name
https://localhost:8001/reload
/dataGETReturns JSON array that contains data stored in receiver's internal memory
  • 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
/dataDELETEDeletes specified data from receiver's internal memory.

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
/pauseGETSets status PAUSED for receiver verticle immediately. Returns response from Receiverバーティクルのステータスを直ちにPAUSEDに設定します。"GET /status" endpoint エンドポイントから応答を返します(see above上記を参照)
https://localhost:8001/pause
/resumeGETSets status UP for receiver verticle immediately. Returns response from Receiverバーティクルのステータスを直ちにUPに設定します。"GET /status" endpoint エンドポイントから応答を返します(see above上記を参照)
https://localhost:8001/resume
/logoutGETExecutes logout of currently logged in user

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


https://localhost:8001/logout


このページでは

Table of Contents