Pelajari properti dan struktur JSON device shadow di Platform IoT.
Contoh dokumen JSON 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
}
Properti JSON tersebut dijelaskan dalam deskripsi properti JSON.
| Property | Description |
| desired | Status perangkat yang diinginkan. Bagian desired hanya muncul jika device shadow memiliki status yang diinginkan. Aplikasi menulis ke bagian desired untuk memperbarui status suatu thing tanpa koneksi langsung ke perangkat. |
| reported | Status perangkat yang dilaporkan. Perangkat menulis ke bagian reported untuk melaporkan status terbarunya. Aplikasi membaca bagian ini untuk mendapatkan status perangkat. Bagian reported bersifat opsional. Device shadow tetap valid meskipun tidak memiliki bagian reported. |
| metadata | Saat pengguna memperbarui dokumen status perangkat, layanan device shadow secara otomatis memperbarui metadata. Setiap properti dalam status perangkat memiliki timestamp dalam Epoch time yang menunjukkan kapan terakhir kali diperbarui. |
| timestamp | Waktu saat dokumen shadow terakhir diperbarui. |
| version | Saat pengguna secara aktif memperbarui nomor versi, layanan device shadow memeriksa apakah nilai version dalam permintaan melebihi versi saat ini. Jika iya, layanan akan memperbarui device shadow dan mengatur version ke nilai yang diminta. Jika tidak, permintaan tersebut ditolak. Versi bertambah setiap kali terjadi pembaruan, sehingga Anda selalu memodifikasi versi dokumen terbaru. Parameter version bertipe long. Untuk mencegah overflow, berikan |
Device shadow mendukung array, tetapi array harus diperbarui secara keseluruhan.
Contoh pembaruan data array:
- Status awal:
{ "reported" : { "colors" : [ "RED", "GREEN", "BLUE" ] } } - Pembaruan:
{ "reported" : { "colors" : [ "RED" ] } } - Status akhir:
{ "reported" : { "colors" : [ "RED" ] } }