MQTT
只要在 WebSocket 請求上選擇 mqtt 協定,就能
使用 MQTT。

| 欄位 | 作用 |
|---|---|
| URL | broker 的位址(mqtt://、mqtts://,或 WebSocket) |
| 主題 | 主題,由 事件 欄位承載 |
| 訊息 | 發布出去的負載 |
| QoS | 0、1 或 2 — 發布與訂閱時都會用到 |
| 保留(retain) | 把訊息標記為由 broker 保留 |
| 用戶端 ID | 由 Handlebars 解析;留空時會自動產生 |
| 使用者 / 密碼 | broker 的憑證資訊;密碼接受密鑰類型的值 |
| Keepalive | 以秒為單位 |
| 訂閱主題 | 預設啟用:連線時 Restorm 會訂閱該請求的主題 |
主題本身也接受 {{variables}} — capteurs/{{site}}/{{capteurId}} 就是一個完全合法
的主題。
遺囑訊息(Last Will and Testament)
Section titled “遺囑訊息(Last Will and Testament)”有四個欄位用來宣告:萬一您的用戶端突然消失,broker 該發布哪一則訊息 — 遺囑訊息的 主題、負載、QoS 與保留設定。
要測試系統面對不乾淨斷線時的反應,這正是最合適的工具:設定一則遺囑訊息、切斷連線, 然後確認訂閱端有做出反應。
MQTT 用戶端會自動重新連線,上限為十次嘗試。
MQTT connect(會訂閱該請求的主題,並在每收到一則訊息時發出一個事件)、 MQTT publish(以該請求的 QoS 與保留設定發布)以及關閉 MQTT 連線。請參閱 連線與串流。
Restorm 能託管一個本機 MQTT broker:每個連接埠一個 broker,既可透過原始 TCP 存取,也可透過 MQTT-over-WebSocket 閘道存取。請參閱 模擬 WebSocket、Socket.IO 與 MQTT。
從 AsyncAPI 匯入
Section titled “從 AsyncAPI 匯入”一份 AsyncAPI 文件只要其頻道使用 mqtt 協定,就會直接產生 MQTT 請求(每個頻道一個,
發布與訂閱都有),並依訊息的結構描述產生範例負載。請參閱
匯入 AsyncAPI。