Conozca las propiedades y la estructura JSON de los device shadows en IoT Platform.
Ejemplo de documento JSON de un device shadow:
{
"state": {
"desired": {
"color": "RED",
"sequence": [
"RED",
"GREEN",
"BLUE"
]
},
"reported": {
"color": "GREEN"
}
},
"metadata": {
"desired": {
"color": {
"timestamp": 1469564492
},
"sequence": {
"timestamp": 1469564492
}
},
"reported": {
"color": {
"timestamp": 1469564492
}
}
},
"timestamp": 1469564492,
"version": 1
}
Las propiedades JSON se enumeran en Descripción de propiedad JSON.
Tabla 1. Descripción de las propiedades JSON
| Propiedad | Descripción |
| desired | El estado deseado del dispositivo. La sección desired aparece únicamente cuando el device shadow tiene un estado deseado. Las aplicaciones escriben en la sección desired para actualizar el estado de un objeto sin necesidad de una conexión directa con el dispositivo. |
| reported | El estado notificado del dispositivo. Los dispositivos escriben en la sección reported para notificar su estado más reciente. Las aplicaciones leen esta sección para obtener el estado del dispositivo. La sección reported es opcional. Un device shadow es válido sin la sección reported. |
| metadata | Cuando un usuario actualiza el documento de estado del dispositivo, el servicio de device shadow actualiza automáticamente los metadatos (metadata). Cada propiedad del estado del dispositivo incluye una marca de tiempo en formato Epoch que indica cuándo se actualizó por última vez. |
| timestamp | La hora en que se actualizó por última vez el documento del shadow. |
| version | Cuando un usuario actualiza activamente el número de versión, el servicio de device shadow comprueba si el valor de version en la solicitud supera la versión actual. De ser así, el servicio actualiza el device shadow y establece version con el valor solicitado. De lo contrario, se rechaza la solicitud. La versión se incrementa en cada actualización, lo que garantiza que siempre se modifique la versión más reciente del documento. El parámetro de versión es de tipo long. Para evitar desbordamientos, pase |
Los device shadows admiten arreglos, pero estos deben actualizarse en su totalidad.
Ejemplo de actualización de datos de un arreglo:
-
Estado inicial:
{ "reported" : { "colors" : [ "RED", "GREEN", "BLUE" ] } } -
Actualización:
{ "reported" : { "colors" : [ "RED" ] } } -
Estado final:
{ "reported" : { "colors" : [ "RED" ] } }