Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Sinkronkan bayangan perangkat lokal dengan AWS IoT Core
Komponen shadow manager memungkinkan AWS IoT Greengrass untuk menyinkronkan status bayangan perangkat lokal dengan AWS IoT Core. Anda harus memodifikasi konfigurasi komponen shadow manager untuk menyertakan parameter synchronization
konfigurasi, dan menentukan nama AWS IoT benda untuk perangkat Anda, dan bayangan yang ingin Anda sinkronkan.
Ketika Anda mengonfigurasi bayangan manajer untuk menyinkronkan bayangan, ia menyinkronkan semua perubahan keadaan untuk bayangan tertentu, terlepas dari apakah perubahan tersebut terjadi dalam dokumen bayangan lokal atau di dokumen bayangan cloud.
Anda juga dapat menentukan apakah komponen pengelola bayangan menyinkronkan bayangan secara real time atau pada interval periodik. Secara default, komponen pengelola bayangan menyinkronkan bayangan secara real time, sehingga perangkat inti mengirim dan menerima pembaruan bayangan ke dan dari AWS IoT Core saat setiap pembaruan terjadi. Anda dapat mengonfigurasi interval berkala untuk mengurangi penggunaan dan biaya bandwidth.
Topik
Prasyarat
Untuk menyinkronkan bayangan lokal dengan AWS IoT Core, Anda harus mengonfigurasi kebijakan perangkat inti Greengrass untuk mengizinkan AWS IoT tindakan kebijakan bayangan berikut. AWS IoT Core
-
iot:GetThingShadow
-
iot:UpdateThingShadow
-
iot:DeleteThingShadow
Untuk informasi selengkapnya, lihat berikut ini:
Konfigurasikan komponen manajer bayangan
Manajer bayangan memerlukan daftar bayangan nama pemetaan untuk menyinkronkan informasi keadaan bayangan dalam dokumen bayangan lokal ke dokumen bayangan cloud di AWS IoT Core.
Untuk menyinkronkan bayangan keadaan, buat deployment yang mencakup komponen aws.greengrass.ShadowManager
, dan tentukan bayangan yang ingin Anda sinkronkan di parameter konfigurasi synchronize
dalam konfigurasi shadow manager dalam deployment tersebut.
catatan
Untuk mengaktifkan perangkat inti berinteraksi dengan bayangan perangkat klien, Anda juga harus mengonfigurasi dan menerapkan komponen jembatan MQTT. Untuk informasi selengkapnya, lihat Mengaktifkan pengelola bayangan untuk berkomunikasi dengan perangkat klien.
Contoh pembaruan konfigurasi berikut menginstruksikan komponen shadow manager untuk menyinkronkan bayangan berikut dengan AWS IoT Core:
-
Bayangan klasik untuk perangkat inti
-
MyCoreShadow
yang bernama untuk perangkat inti -
Bayangan klasik untuk objek IoT bernama
MyDevice2
-
Bayangan yang bernama
MyShadowA
danMyShadowB
untuk objek IoT bernamaMyDevice1
Pembaruan konfigurasi ini menentukan untuk menyinkronkan bayangan dengan AWS IoT Core secara real time. Jika Anda menggunakan shadow manager v2.1.0 atau yang lebih baru, Anda dapat mengonfigurasi komponen shadow manager untuk menyinkronkan bayangan pada interval periodik. Untuk mengonfigurasi fitur ini, ubah strategi sinkronisasi keperiodic
, dan tentukan a delay
dalam detik untuk interval tersebut. Untuk informasi selengkapnya, lihat parameter konfigurasi strategi komponen shadow manager.
Pembaruan konfigurasi ini menentukan untuk menyinkronkan bayangan di kedua arah antara AWS IoT Core
dan perangkat inti. Jika Anda menggunakan shadow manager v2.2.0 atau yang lebih baru, Anda dapat mengonfigurasi komponen shadow manager untuk menyinkronkan bayangan hanya dalam satu arah. Untuk mengonfigurasi fitur ini, ubah sinkronisasi direction
ke deviceToCloud
ataucloudToDevice
. Untuk informasi selengkapnya, lihat parameter konfigurasi arah komponen shadow manager.
{ "strategy": { "type": "realTime" }, "synchronize": { "coreThing": { "classic": true, "namedShadows": [ "MyCoreShadow" ] }, "shadowDocuments": [ { "thingName": "MyDevice1", "classic": false, "namedShadows": [ "MyShadowA", "MyShadowB" ] }, { "thingName": "MyDevice2", "classic": true, "namedShadows": [ ] } ], "direction": "betweenDeviceAndCloud" } }
Sinkronkan bayangan lokal
Saat perangkat inti Greengrass terhubung ke AWS IoT cloud, pengelola bayangan melakukan tugas berikut untuk bayangan yang Anda tentukan dalam konfigurasi komponen. Perilaku tergantung pada opsi konfigurasi arah sinkronisasi bayangan yang Anda tentukan. Secara default, shadow manager menggunakan betweenDeviceAndCloud
opsi untuk menyinkronkan bayangan di kedua arah. Jika Anda menggunakan shadow manager v2.2.0 atau yang lebih baru, Anda dapat mengonfigurasi perangkat inti untuk menyinkronkan bayangan hanya dalam satu arah, yang bisa cloudToDevice
atau. deviceToCloud
-
Jika konfigurasi arah sinkronisasi bayangan adalah
betweenDeviceAndCloud
ataucloudToDevice
, manajer bayangan mengambil informasi status yang dilaporkan dari dokumen bayangan awan di AWS IoT Core. Kemudian, ia memperbarui dokumen bayangan yang disimpan secara lokal untuk menyinkronkan status perangkat. -
Jika konfigurasi arah sinkronisasi bayangan adalah
betweenDeviceAndCloud
ataudeviceToCloud
, manajer bayangan menerbitkan status perangkat saat ini ke dokumen bayangan awan.
Bayangan menggabungkan perilaku konflik
Dalam beberapa kasus, seperti ketika perangkat inti terputus dari internet, bayangan mungkin berubah di layanan bayangan lokal dan di AWS IoT cloud sebelum manajer bayangan menyinkronkan perubahan. Akibatnya, status yang diinginkan dan dilaporkan berbeda antara layanan bayangan lokal dan AWS IoT cloud
Ketika manajer bayangan menyinkronkan bayangan, itu menggabungkan perubahan sesuai dengan perilaku berikut:
-
Jika Anda menggunakan versi pengelola bayangan lebih awal dari v2.2.0, atau saat Anda menentukan arah sinkronisasi
betweenDeviceAndCloud
bayangan, perilaku berikut akan berlaku:-
Ketika ada konflik gabungan dalam keadaan bayangan yang diinginkan, pengelola bayangan menimpa bagian yang bertentangan dari dokumen bayangan lokal dengan nilai dari cloud. AWS IoT
-
Ketika ada konflik gabungan dalam status bayangan yang dilaporkan, pengelola bayangan menimpa bagian bayangan yang bertentangan di AWS IoT cloud dengan nilai dari dokumen bayangan lokal.
-
-
Saat Anda menentukan arah sinkronisasi
deviceToCloud
bayangan, pengelola bayangan akan menimpa bagian bayangan yang bertentangan di AWS IoT cloud dengan nilai dari dokumen bayangan lokal. -
Saat Anda menentukan arah sinkronisasi
cloudToDevice
bayangan, pengelola bayangan akan menimpa bagian yang bertentangan dari dokumen bayangan lokal dengan nilai dari cloud. AWS IoT