MQTT v5コネクタ
MQTT v5コネクタは、MQTT 5.0プロトコルを使用したパブリッシュ/サブスクライブメッセージングを可能にし、MQTT v3に加えて共有サブスクリプション、ユーザープロパティ、メッセージ有効期限を提供します。
コネクタタイプ:
MqttV5Reader- MQTT 5.0トピックをサブスクライブMqttV5Writer- MQTT 5.0トピックにパブリッシュ
MQTT 3.1.1ブローカーおよびクライアントについては、MQTT v3コネクタを使用してください。
MQTT v5 Reader
Section titled “MQTT v5 Reader”トピックをサブスクライブ:
{ "type": "MqttV5Reader", "config": { "endpoint": "mqtt://localhost:1883", "topic": "sensors/temperature", "qos": 1, "clientId": "meddle-v5-reader" }}認証およびTLSあり
Section titled “認証およびTLSあり”{ "type": "MqttV5Reader", "config": { "endpoint": "mqtts://mqtt.example.com:8883", "topic": "factory/sensors/#", "qos": 1, "clientId": "meddle-v5-reader", "username": "mqtt_user", "password": "mqtt_password" }}共有サブスクリプション
Section titled “共有サブスクリプション”sharedGroupを使用して複数のリーダー間でメッセージを分散します。コネクタは$share/<group>/<topic>をサブスクライブし、ブローカーがメンバー間で配信を負荷分散します:
{ "type": "MqttV5Reader", "config": { "endpoint": "mqtt://broker.example.com:1883", "topic": "factory/events", "qos": 1, "clientId": "meddle-v5-reader-1", "sharedGroup": "meddle-workers" }}MQTT v5 Writer
Section titled “MQTT v5 Writer”トピックにパブリッシュ:
{ "type": "MqttV5Writer", "config": { "endpoint": "mqtt://localhost:1883", "topic": "data/output", "qos": 1, "clientId": "meddle-v5-writer" }}有効期限とユーザープロパティ付きの保持メッセージ
Section titled “有効期限とユーザープロパティ付きの保持メッセージ”{ "type": "MqttV5Writer", "config": { "endpoint": "mqtts://mqtt.example.com:8883", "topic": "devices/state", "qos": 1, "clientId": "meddle-v5-writer", "username": "mqtt_user", "password": "mqtt_password", "retain": true, "messageExpiry": 3600, "userProperties": { "source": "meddle", "schema": "v1" } }}設定パラメータ
Section titled “設定パラメータ”- endpoint: スキーム付きブローカーURL(
mqtt://host:portまたはmqtts://host:port) - topic: サブスクライブまたはパブリッシュするトピック(Readerは
+および#ワイルドカードをサポート) - qos: Quality of Service:
0、1、または2 - clientId: (オプション)クライアント識別子
- username: (オプション)MQTTユーザー名
- password: (オプション)MQTTパスワード
- sharedGroup: (Reader)負荷分散用の共有サブスクリプショングループ
- userProperties: メッセージに付加されるキー/値メタデータ
- retain: (Writer)ブローカーが最後のメッセージを保存し、新規サブスクライバーに配信
- messageExpiry: (Writer)秒単位のメッセージ有効期限
QoSレベル
Section titled “QoSレベル”- 0: 最大1回(fire and forget)
- 1: 少なくとも1回(確認された配信)
- 2: 正確に1回(保証された配信)
MQTT v3との違い
Section titled “MQTT v3との違い”- 共有サブスクリプション(
sharedGroup)により、複数のサブスクライバーが単一のトピックをブローカー側の負荷分散で消費できます。 - ユーザープロパティは、メッセージごとに任意のキー/値メタデータを運びます。
- メッセージ有効期限は、設定された間隔の後に未配信メッセージを破棄します。
- 理由コードは接続、サブスクライブ、パブリッシュで提供され、基盤となるpahoクライアントが処理するよりリッチなエラーセマンティクスを提供します。
トピックワイルドカード(Readerのみ)
Section titled “トピックワイルドカード(Readerのみ)”+- 単一レベルワイルドカード(sensors/+/temperature)#- マルチレベルワイルドカード(sensors/#)