本文档介绍设备影子的JSON格式表达方法。

设备影子JSON文档示例

{
    "state":{
        "desired":{
            "color":"RED",
            "sequence":[
                "RED",
                "GREEN",
                "BLUE"
            ]
        },
        "reported":{
            "color":"GREEN"
        }
    },
    "metadata":{
        "desired":{
            "color":{
                "timestamp":1469564492000
            },
            "sequence":{
                "timestamp":1469564492000
            }
        },
        "reported":{
            "color":{
                "timestamp":1469564492000
            }
        }
    },
    "timestamp":1469564492000
}

JSON属性描述,如下表1所示。

表 1. JSON属性说明

属性 描述
1 desired 设备的预期状态。仅当设备影子文档具有预期状态时,才包含desired部分。应用程序向desired部分写入数据,更新事物的状态,而无需直接连接到该设备。
2 reported 设备的报告状态。设备可以在reported部分写入数据,报告其最新状态。应用程序可以通过读取该参数值,获取设备的状态。JSON文档中也可以不包含reported部分,没有reported部分的文档同样为有效影子JSON文档。
3 metadata 当用户更新设备状态文档后,设备影子服务会自动更新metadata的值。设备状态的元数据的信息包含以 Epoch 时间表示的每个属性的时间戳,用来获取准确的更新时间。
4 timestamp 影子文档的最新更新时间。

注意:设备影子支持数组。更新数组时必须全量更新,不能只更新数组的某一部分。

更新数组数据示例

  • 初始状态:
    {
      "reported" : {
          "colors" : [
              "RED",
              "GREEN",
              "BLUE"
          ]
      }
    }
    更新:
    {
      "reported" : {
          "colors" : [
              "RED"
          ]
      }
    }
    最终状态:
    {
      "reported" : {
          "colors" : [
              "RED"
          ]
      }
    }
 创建时间:2023-03-23 21:01
最后编辑:陈勇琦  更新时间:2024-10-18 10:58