一、使用场景
1. 设备无法支持 OTA 升级;
2. 灰度发布,A/B 测试等场景,需要对设备打环境标签。
二、注册设备身份
MQTT 为每个实例提供设备身份注册表,方便用户为具体设备/客户端提供附加配置,从而实现“一机一密”,“传播属性”等特性。设备身份注册表通过 CAPI 开放一组管理接口,实现设备身份的创建、更新、删除等管理。
设备身份(Device Identity)目前包含以下字段:
| 字段 | 描述 | 备注 |
| DeviceID | 设备 ID,等同于 Client ID | 关联设备配置和 MQTT Client Session |
| Status | Device Identity 状态 | 当 Status 为 Disabled时,忽略该配置 |
| PropagatingProperties | 传播属性 | 详见传播属性 |
| PrimaryKey | 主密钥 | 详见一机一密 |
| SecondaryKey | 次密钥 | 详见一机一密 |
| CreateTime | 设备身份记录创建时间 | – |
三、配置传播属性
如上述序列图所示:
1. 用户通过云 API 创建设备身份,定义传播属性;
2. 设备身份配置信息同步到 MQTT Server 节点;
3. 匹配的客户端发布消息时, MQTT Server 根据设备身份元数据, 为消息添加(Append)传播属性定义的 User Property 列表;
4. MQTT 5.0 订阅者订阅消息时, 投递包含传播属性的 User Properties。
四、查看传播属性
1. 登录消息队列 MQTT 版控制台。点击 资源管理 > 集群管理 > 客户端名称,查看具体客户端详情。
2. 如下,当功能已开启时,可在集群的基本信息中查看传播属性。