设备镜像 topic 簇 topic 列表如下:
系统topic | 用途 | QoS | 可订阅 | 可发布 |
---|---|---|---|---|
$sys/{pid}/{device-name}/image/update | 设备更新镜像中属性 | 0/1 | √ | |
$sys/{pid}/{device-name}/image/update/accepted | 系统通知"设备镜像更新成功" | 0 | √ | |
$sys/{pid}/{device-name}/image/update/rejected | 系统通知"设备镜像更新失败" | 0 | √ | |
$sys/{pid}/{device-name}/image/update/delta | 系统通知"属性中上报值与期望值存在差异" | 0 | √ | |
$sys/{pid}/{device-name}/image/get | 设备镜像信息查询 | 0/1 | √ | |
$sys/{pid}/{device-name}/image/get/accepted | 系统通知"设备镜像查询成功" | 0 | √ | |
$sys/{pid}/{device-name}/image/get/rejected | 系统通知"设备镜像查询失败" | 0 | √ |
设备可以通过向系统topic:$sys/{pid}/{device-name}/image/update 发布消息更新,payload示例:
{
"state": {
"desired": {
"color": "green"
},
"reported": {
"color": "red"
}
}
}
其中,参数说明如下:
参数 | 类型 | 是否必填 | 说明 |
---|---|---|---|
state | object | 是 | - |
desired | object | - | 用于更新设备状态/配置信息期望状态,与reported至少存在一项 |
reported | object | - | 用于更新设备状态/配置信息当前状态,与desired至少存在一项 |
当应用/设备更新reported 或者 desired属性后,平台会计算属性差异 delta,若delta存在,平台会发送该差异消息至系统topic:$sys/{pid}/{device-name}/image/update/delta,设备可以通过订阅该topic获取属性差异消息,消息示例如下:
{
"state": {
"color": "green"
},
"metadata": {
"color": {
"timestamp": 1469574492
}
},
"version":2,
"timestamp":1469574492
}
设备可以通过向系统topic:$sys/{pid}/{device-name}/image/get 发布空消息查询当前镜像最新数据
错误码 err_code | 错误消息 err_msg | 说明 |
---|---|---|
128 | unspecified error | 未明确的错误 |
160 | illegal json | 非法json |
161 | json out of bound | json数据过长 |
162 | json depth out of bound | json嵌套层级过多 |
163 | state key not found | state字段不存在 |
164 | desired or reported key not found | 未包含"desired" 与 "reported"字段 |
165 | invalid parameters | 存在非法参数 |
166 | device image existed | 设备镜像已存在 |
167 | device image not exists | 设备镜像不存在 |