Berinteraksilah dengan bayangan dalam komponen - AWS IoT Greengrass

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Berinteraksilah dengan bayangan dalam komponen

Anda dapat mengembangkan komponen kustom, termasuk komponen fungsi Lambda, yang menggunakan layanan bayangan lokal untuk membaca dan memodifikasi dokumen bayangan lokal dan dokumen bayangan perangkat klien.

Komponen kustom berinteraksi dengan layanan bayangan lokal dengan menggunakan pustaka inti IPC AWS IoT Greengrass di AWS IoT Device SDK. Komponen shadow manager memungkinkan layanan bayangan lokal pada perangkat inti Anda.

Untuk men-deploy komponen shadow manager pada perangkat inti Greengrass, buat deployment yang meliputi komponen aws.greengrass.ShadowManager.

catatan

Secara default, deployment komponen shadow manager akan memungkinkan operasi bayangan lokal saja. AWS IoT GreengrassUntuk mengaktifkan sinkronisasi informasi status bayangan untuk bayangan perangkat inti atau bayangan apa pun untuk perangkat klien ke dokumen bayangan awan yang sesuaiAWS IoT Core, Anda harus membuat pembaruan konfigurasi untuk komponen pengelola bayangan yang menyertakan synchronize parameter. Untuk informasi selengkapnya, lihat Sinkronkan bayangan perangkat lokal dengan AWS IoT Core.

Ambil dan memodifikasi keadaan bayangan

Operasi bayangan IPC mengambil dan memperbarui informasi keadaan dalam dokumen bayangan lokal. Komponen shadow manager menangani penyimpanan dokumen bayangan ini pada perangkat inti Anda.

Untuk mengubah keadaan bayangan lokal
  1. Tambahkan kebijakan otorisasi ke resep komponen kustom Anda agar komponen dapat menerima pesan tentang topik bayangan lokal.

    Misalnya kebijakan otorisasi, lihat Contoh kebijakan otorisasi IPC bayangan lokal.

  2. Gunakan operasi bayangan IPC untuk mengambil dan memodifikasi informasi keadaan bayangan. Untuk informasi selengkapnya tentang penggunaan operasi IPC bayangan dalam kode komponen, lihat Berinteraksi dengan bayangan lokal.

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.

Bereaksilah terhadap perubahan keadaan bayangan

Komponen Greengrass menggunakan antarmuka publish/subscribe lokal untuk berkomunikasi di perangkat inti. Untuk mengaktifkan komponen kustom untuk bereaksi terhadap perubahan keadaan bayangan, Anda dapat berlangganan topik publikasi/berlangganan lokal. Hal ini memungkinkan komponen untuk menerima pesan pada topik bayangan lokal, dan kemudian bertindak pada pesan tersebut.

Topik bayangan lokal menggunakan format yang sama seperti topik MQTT bayangan perangkat AWS IoT. Untuk informasi selengkapnya tentang topik bayangan, lihat topik MQTT Bayangan Perangkat di Panduan Developer AWS IoT.

Untuk bereaksi terhadap perubahan keadaan bayangan
  1. Tambahkan kebijakan kontrol akses ke resep untuk komponen kustom Anda untuk memungkinkan komponen untuk menerima pesan pada topik bayangan lokal.

    Misalnya kebijakan otorisasi, lihat Contoh kebijakan otorisasi IPC bayangan lokal.

  2. Untuk memulai tindakan kustom dalam sebuah komponen, gunakan operasi IPC SubscribeToTopic untuk berlangganan topik bayangan tempat Anda ingin menerima pesan. Untuk informasi selengkapnya tentang penggunaan operasi IPC publikasi/berlangganan lokal dalam kode komponen, lihat Pesan lokal publikasi/berlangganan.

  3. Untuk memanggil fungsi Lambda, gunakan konfigurasi sumber peristiwa untuk memberikan nama topik bayangan dan menentukan bahwa ia merupakan topik publikasi/berlangganan lokal. Untuk informasi selengkapnya tentang cara membuat komponen fungsi Lambda, lihat Jalankan fungsi AWS Lambda.

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.