天蓝色iot-hub设备twin移除所需属性

时间:2018-07-23 13:52:12

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

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

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

我想从JSON twin中永久删除“ someKey”属性。

2 个答案:

答案 0 :(得分:1)

要从双JSON中删除“ someKey”

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

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

因此,下一次以后,您将收到以下JSON

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

答案 1 :(得分:0)

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

设备操作

设备操作

  

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

     

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

然后在后端操作中

  

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

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

(...)