コンテンツにスキップ

MQTT v5コネクタ

MQTT v5コネクタは、MQTT 5.0プロトコルを使用したパブリッシュ/サブスクライブメッセージングを可能にし、MQTT v3に加えて共有サブスクリプション、ユーザープロパティ、メッセージ有効期限を提供します。

コネクタタイプ:

  • MqttV5Reader - MQTT 5.0トピックをサブスクライブ
  • MqttV5Writer - MQTT 5.0トピックにパブリッシュ

MQTT 3.1.1ブローカーおよびクライアントについては、MQTT v3コネクタを使用してください。

トピックをサブスクライブ:

{
"type": "MqttV5Reader",
"config": {
"endpoint": "mqtt://localhost:1883",
"topic": "sensors/temperature",
"qos": 1,
"clientId": "meddle-v5-reader"
}
}
{
"type": "MqttV5Reader",
"config": {
"endpoint": "mqtts://mqtt.example.com:8883",
"topic": "factory/sensors/#",
"qos": 1,
"clientId": "meddle-v5-reader",
"username": "mqtt_user",
"password": "mqtt_password"
}
}

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"
}
}

トピックにパブリッシュ:

{
"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"
}
}
}
  • endpoint: スキーム付きブローカーURL(mqtt://host:portまたはmqtts://host:port
  • topic: サブスクライブまたはパブリッシュするトピック(Readerは+および#ワイルドカードをサポート)
  • qos: Quality of Service:01、または2
  • clientId: (オプション)クライアント識別子
  • username: (オプション)MQTTユーザー名
  • password: (オプション)MQTTパスワード
  • sharedGroup: (Reader)負荷分散用の共有サブスクリプショングループ
  • userProperties: メッセージに付加されるキー/値メタデータ
  • retain: (Writer)ブローカーが最後のメッセージを保存し、新規サブスクライバーに配信
  • messageExpiry: (Writer)秒単位のメッセージ有効期限
  • 0: 最大1回(fire and forget)
  • 1: 少なくとも1回(確認された配信)
  • 2: 正確に1回(保証された配信)
  • 共有サブスクリプションsharedGroup)により、複数のサブスクライバーが単一のトピックをブローカー側の負荷分散で消費できます。
  • ユーザープロパティは、メッセージごとに任意のキー/値メタデータを運びます。
  • メッセージ有効期限は、設定された間隔の後に未配信メッセージを破棄します。
  • 理由コードは接続、サブスクライブ、パブリッシュで提供され、基盤となるpahoクライアントが処理するよりリッチなエラーセマンティクスを提供します。

トピックワイルドカード(Readerのみ)

Section titled “トピックワイルドカード(Readerのみ)”
  • + - 単一レベルワイルドカード(sensors/+/temperature
  • # - マルチレベルワイルドカード(sensors/#
  • MQTT v3 - 従来のMQTT 3.1.1コネクタ
  • AMQP - RabbitMQパブ/サブの代替
  • NATS - クラウドネイティブなパブ/サブの代替