【问题标题】:azure iot-hub device twin remove desired propertiesazure iot-hub 设备孪生删除所需的属性
【发布时间】:2018-07-23 13:52:11
【问题描述】:

以下是我的设备孪生负载,我错误地添加了“someKey”属性。

{
   desired: {
      "state": {
           "processor": "running",
           "light": "on"
       },
       "someKey": "someValue"
   }
}

我想从 JSON 双胞胎中永久删除“someKey”属性。

【问题讨论】:

    标签: azure-iot-hub azure-iot-hub-device-management


    【解决方案1】:

    从孪生 JSON 中删除“someKey”

    将空值分配给“someKey”,然后仅将其从设备孪生 JSON 中删除。

    {
       desired: {
          "state": {
               "processor": "running",
               "light": "on"
           },
           "someKey": null
       }
    }
    

    所以下次您将收到如下 JSON 格式

    {
       desired: {
          "state": {
               "processor": "running",
               "light": "on"
           }
       }
    }
    

    【讨论】:

      【解决方案2】:

      发件人:https://docs.microsoft.com/en-us/azure/iot-hub/iot-hub-devguide-device-twins#back-end-operations

      设备操作

      设备操作

      设备应用使用以下原子操作在设备孪生上运行:

      部分更新报告的属性。此操作可以部分更新当前连接设备的报告属性。此操作使用解决方案后端用于部分更新所需属性的相同 JSON 更新格式。

      然后在后端操作中

      部分更新设备孪生。此操作使解决方案后端能够部分更新设备孪生中的标签或所需属性。部分更新表示为添加或更新任何属性的 JSON 文档。设置为 null 的属性将被删除。以下示例创建一个新的所需属性,其值为{"newProperty": "newValue"},用"otherNewValue" 覆盖existingProperty 的现有值,并删除otherOldProperty。不会对现有的所需属性或标签进行任何其他更改:

      { "properties": { "desired": { "newProperty": { "nestedProperty": "newValue" }, "existingProperty": "otherNewValue", "otherOldProperty": null } } }

      (...)

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-07-01
        • 2019-03-15
        • 1970-01-01
        • 1970-01-01
        • 2018-02-03
        相关资源
        最近更新 更多