MQTT
在一个 WebSocket 请求上选择 mqtt 协议即可使用 MQTT。

| 字段 | 作用 |
|---|---|
| URL | 消息代理的地址(mqtt://、mqtts://,或 WebSocket) |
| 主题 | 主题,承载在事件字段中 |
| 消息 | 发布的负载 |
| QoS | 0、1 或 2 —— 发布和订阅时都会使用 |
| 保留 (retain) | 将消息标记为由消息代理保留 |
| 客户端标识 | 由 Handlebars 解析;留空时自动生成 |
| 用户名 / 密码 | 消息代理的凭据;密码接受密钥类型的值 |
| Keepalive | 以秒为单位 |
| 订阅该主题 | 默认启用:连接时 Restorm 会订阅该请求的主题 |
主题支持 {{变量}} —— capteurs/{{site}}/{{capteurId}} 就是一个完全合法的主题。
遗嘱消息 (Last Will and Testament)
Section titled “遗嘱消息 (Last Will and Testament)”四个字段声明了当您的客户端突然消失时消息代理将发布的消息:遗嘱消息的主题、负载、QoS 和保留标志。
这正是测试系统面对非正常断开时行为的利器:配置一条遗嘱消息,切断连接,然后验证订阅方是否作出反应。
MQTT 客户端会自动重连,上限为十次尝试。
MQTT 连接(订阅该请求的主题,并为每条收到的消息发出一个事件)、MQTT 发布(按请求配置的 QoS 和保留标志进行发布)以及 MQTT 关闭连接。参见 连接与流。
Restorm 能够托管一个本地 MQTT 消息代理:每个端口一个代理, 可通过原始 TCP 访问,也可通过 MQTT-over-WebSocket 网关访问。参见 模拟 WebSocket、Socket.IO 和 MQTT。
从 AsyncAPI 导入
Section titled “从 AsyncAPI 导入”如果一个 AsyncAPI 文档的通道使用 mqtt 协议,它会直接生成 MQTT 请求(每个通道一个,分为发布和订阅),
并根据消息 schema 构建示例负载。参见导入 AsyncAPI。