Artikel ini menjelaskan format JSON dari bayangan perangkat.
Potongan kode berikut menunjukkan contoh file JSON dari bayangan perangkat:
{
"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
}Tabel Properti File JSON menjelaskan properti dalam file JSON contoh.
| Properti | Deskripsi |
| desired | Status yang diinginkan dari perangkat. File JSON dari bayangan perangkat hanya berisi properti desired jika Anda telah menentukan status yang diinginkan. Aplikasi dapat langsung menulis properti desired dari perangkat tanpa perlu terhubung ke perangkat. |
| reported | Status yang dilaporkan oleh perangkat. Perangkat dapat menulis properti reported untuk melaporkan status terbarunya. Aplikasi dapat memperoleh status perangkat dengan membaca properti ini. File JSON dari bayangan perangkat mungkin tidak berisi properti reported dan tetap valid. |
| metadata | Informasi metadata tentang status perangkat, yang diperbarui secara otomatis berdasarkan pembaruan dalam file JSON. Informasi metadata berisi timestamp setiap properti untuk memberikan waktu pembaruan yang akurat. Setiap timestamp adalah jumlah detik yang telah berlalu sejak 1 Januari 1970, 00:00:00 UTC. |
| timestamp | Waktu terakhir file JSON diperbarui. |
| version | Nomor versi file JSON. Saat Anda meminta pembaruan versi dari bayangan perangkat, bayangan perangkat memeriksa apakah versi yang diminta lebih baru daripada versi saat ini. Jika versi yang diminta lebih baru daripada versi saat ini, bayangan perangkat diperbarui dan properti version juga diperbarui. Jika tidak, bayangan perangkat menolak permintaan tersebut. Selama pembaruan, nilai properti versi bertambah, yang memastikan bahwa file yang diperbarui selalu merupakan versi terbaru. Properti versi bertipe LONG. Untuk mencegah overflow parameter, Anda dapat memasukkan |
Array didukung dalam file JSON dari bayangan perangkat. Saat memperbarui array, Anda harus memperbarui seluruh array, bukan hanya sebagian dari array tersebut.
Contoh berikut menunjukkan cara memperbarui array:
- Status Awal:
{ "reported" : { "colors" : ["RED", "GREEN", "BLUE" ] } } - Pembaruan:
{ "reported" : { "colors" : ["RED"] } } - Status Akhir:
{ "reported" : { "colors" : ["RED"] } }