Sinkronkan bayangan perangkat lokal dengan AWS IoT Core - AWS IoT Greengrass

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 perangkat lokal bayangan keadaan dengan AWS IoT Core. Anda harus mengubah konfigurasi komponen shadow manager untuk menyertakan parameter konfigurasi synchronization, dan menentukan nama objek AWS IoT 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 shadow manager menyinkronkan bayangan secara real time, sehingga perangkat inti mengirim dan menerima pembaruan bayangan ke dan dariAWS IoT Coreketika setiap pembaruan terjadi. Anda dapat mengkonfigurasi interval periodik untuk mengurangi penggunaan bandwidth dan biaya.

Prasyarat

Untuk menyinkronkan bayangan lokal denganAWS IoT Core, Anda harus mengonfigurasikan perangkat inti GreengrassAWS IoTkebijakan untuk memungkinkan berikutAWS IoT Coretindakan kebijakan bayangan.

  • iot:GetThingShadow

  • iot:UpdateThingShadow

  • iot:DeleteThingShadow

Untuk informasi selengkapnya, lihat yang berikut:

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, lihatAktifkan pengelola bayangan untuk berkomunikasi dengan perangkat klien.

Pembaruan konfigurasi contoh berikut menginstruksikan komponen manajer bayangan 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 dan MyShadowB untuk objek IoT bernama MyDevice1

Pemutakhiran konfigurasi ini menentukan untuk menyinkronkan bayangan denganAWS IoT Coresecara waktu nyata. Jika Anda menggunakan shadow manager v2.1.0 atau yang lebih baru, Anda dapat mengonfigurasi komponen pengelola bayangan untuk menyinkronkan bayangan pada interval periodik. Untuk mengonfigurasi fitur ini, ubah strategi sinkronisasi menjadiperiodic, dan tentukan adelaydalam hitungan detik untuk interval. Untuk informasi selengkapnya, lihatparameter konfigurasi strategikomponen manajer bayangan.

Pemutakhiran konfigurasi ini menentukan untuk menyinkronkan bayangan di kedua arah antaraAWS IoT Coredan perangkat inti. Jika Anda menggunakan shadow manager v2.2.0 atau yang lebih baru, Anda dapat mengonfigurasi komponen pengelola bayangan untuk menyinkronkan bayangan hanya dalam satu arah. Untuk mengonfigurasi fitur ini, ubah sinkronisasidirectionkepadadeviceToCloudataucloudToDevice. Untuk informasi selengkapnya, lihatparameter konfigurasi arahkomponen manajer bayangan.

{ "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

Ketika perangkat inti Greengrass terhubung keAWS IoTcloud, shadow manager akan melakukan tugas-tugas berikut untuk bayangan yang Anda tentukan dalam konfigurasi komponen. Perilaku bergantung pada opsi konfigurasi arah sinkronisasi bayangan yang Anda tentukan. Secara default, shadow manager menggunakanbetweenDeviceAndCloudpilihan 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 jadicloudToDeviceataudeviceToCloud.

  • Jika konfigurasi arah sinkronisasi bayangan adalahbetweenDeviceAndCloudataucloudToDevice, shadow manager akan mengambil informasi keadaan yang dilaporkan dari dokumen bayangan cloud diAWS IoT Core. Kemudian, akan memperbarui dokumen bayangan yang disimpan secara lokal untuk menyinkronkan keadaan perangkat.

  • Jika konfigurasi arah sinkronisasi bayangan adalahbetweenDeviceAndCloudataudeviceToCloud, shadow manager akan menerbitkan status perangkat saat ini ke dokumen bayangan cloud.

Perilaku konflik gabungan bayangan

Dalam beberapa kasus, seperti ketika perangkat inti terputus dari internet, bayangan mungkin berubah dalam layanan bayangan lokal dan diAWS IoTcloud sebelum manajer bayangan menyinkronkan perubahan. Akibatnya, status yang diinginkan dan dilaporkan berbeda antara layanan bayangan lokal danAWS IoTawan

Ketika manajer bayangan menyinkronkan bayangan, itu menggabungkan perubahan sesuai dengan perilaku berikut:

  • Jika Anda menggunakan versi shadow manager lebih awal dari v2.2.0, atau saat Anda menentukanbetweenDeviceAndCloudbayangan sinkronisasi arah, perilaku berikut berlaku:

    • Ketika ada konflik gabungan dalam keadaan bayangan yang diinginkan, manajer bayangan menimpa bagian yang bertentangan dari dokumen bayangan lokal dengan nilai dariAWS IoTcloud.

    • Ketika ada konflik gabungan dalam keadaan yang dilaporkan bayangan, manajer bayangan menimpa bagian bayangan yang bertentangan diAWS IoTcloud dengan nilai dari dokumen bayangan lokal.

  • Ketika Anda menentukandeviceToCloudbayangan sinkronisasi arah, manajer bayangan menimpa bagian konflik bayangan diAWS IoTcloud dengan nilai dari dokumen bayangan lokal.

  • Ketika Anda menentukancloudToDevicebayangan sinkronisasi arah, manajer bayangan menimpa bagian bertentangan dari dokumen bayangan lokal dengan nilai dariAWS IoTcloud.