Лазурное устройство iot-hub twin удаляет нужные свойства
Ниже приведена полезная нагрузка близнеца моего устройства. По ошибке я добавил к нему свойство someKey.
{
desired: {
"state": {
"processor": "running",
"light": "on"
},
"someKey": "someValue"
}
}
Я хочу навсегда удалить свойство someKey из JSON twin.
2 ответа
Чтобы удалить "someKey" из двойного JSON
присвойте нулевое значение "someKey", тогда только оно будет удалено из устройства JSON.
{
desired: {
"state": {
"processor": "running",
"light": "on"
},
"someKey": null
}
}
Так что в следующий раз вы получите JSON, как показано ниже
{
desired: {
"state": {
"processor": "running",
"light": "on"
}
}
}
От: https://docs.microsoft.com/en-us/azure/iot-hub/iot-hub-devguide-device-twins
Операции с устройством
Операции с устройством
Приложение устройства работает на устройстве-близнеце, используя следующие атомарные операции:
Частично обновить сообщаемые свойства. Эта операция позволяет частично обновить сообщенные свойства подключенного в данный момент устройства. Эта операция использует тот же формат обновления JSON, что и серверная часть решения для частичного обновления нужных свойств.
А потом в Back-End операциях
Частично обновить устройство Twin. Эта операция позволяет компоненту решения частично обновлять теги или требуемые свойства в двойнике устройства. Частичное обновление выражается в виде документа JSON, который добавляет или обновляет любое свойство. Свойства с нулевым значением удаляются. В следующем примере создается новое требуемое свойство со значением
{"newProperty": "newValue"}
, перезаписывает существующее значениеexistingProperty
с"otherNewValue"
и удаляетotherOldProperty
, Никакие другие изменения не вносятся в существующие желаемые свойства или теги:
{
"properties": {
"desired": {
"newProperty": {
"nestedProperty": "newValue"
},
"existingProperty": "otherNewValue",
"otherOldProperty": null
}
}
}
(...)