2

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

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

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

4

2 回答 2

4

从孪生 JSON 中删除“someKey”

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

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

所以下次你将收到如下 JSON

{
   desired: {
      "state": {
           "processor": "running",
           "light": "on"
       }
   }
}
于 2018-07-23T13:55:01.937 回答
0

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

设备操作

设备操作

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

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

然后在后端操作中

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

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

(...)

于 2018-07-26T03:39:48.193 回答