AWS IoT Greengrass Version 1 memasuki fase umur panjang pada 30 Juni 2023. Untuk informasi selengkapnya, lihat kebijakan AWS IoT Greengrass V1 pemeliharaan. Setelah tanggal ini, tidak AWS IoT Greengrass V1 akan merilis pembaruan yang menyediakan fitur, penyempurnaan, perbaikan bug, atau patch keamanan. Perangkat yang berjalan AWS IoT Greengrass V1 tidak akan terganggu dan akan terus beroperasi dan terhubung ke cloud. Kami sangat menyarankan Anda bermigrasi ke AWS IoT Greengrass Version 2, yang menambahkan fitur baru yang signifikan dan dukungan untuk platform tambahan.
Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Uji fungsi Lambda berumur panjang
Sebuah Fungsi Lambda yang berumur panjang dimulai secara otomatis ketika AWS IoT Greengrass core memulai dan berjalan dalam kontainer tunggal (atau sandbox). Setiap variabel dan logika preprocessing didefinisikan di luar fungsi handler dipertahankan untuk setiap permintaan dari fungsi handler. Beberapa permintaan dari fungsi handler antri sampai permintaan sebelumnya telah dilaksanakan.
Kode greengrassHelloWorldCounter.py
yang digunakan dalam modul ini mendefinisikan my_counter
variabel di luar dari fungsi handler.
catatan
Anda dapat melihat kode diAWS Lambdakonsol atauAWS IoT GreengrassCore SDK for Python
Dalam langkah ini, Anda membuat langganan yang mengizinkan fungsi Lambda dan AWS IoT untuk bertukar pesan MQTT. Kemudian Anda men-deploy grup dan menguji fungsi.
-
Pada halaman konfigurasi grup, pilihLangganan, dan kemudian pilihTambahkan.
-
Di bawahJenis sumber, pilihFungsi Lambda, dan kemudian pilihGreengrass_HelloWorld_Penghitung.
-
Di bawahJenis target, pilihLayanan, pilihIoT Cloud.
-
Untuk Filter topik, masukkan
hello/world/counter
. -
Pilih Buat langganan.
Langganan tunggal ini hanya berlaku dalam satu arah: dari
Greengrass_HelloWorld_Counter
Fungsi Lambda ke AWS IoT. Untuk memanggil (atau memicu) fungsi Lambda ini dari cloud, Anda harus membuat langganan dalam arah yang bertentangan. -
Ikuti langkah 1 - 5 untuk menambahkan langganan lain yang menggunakan nilai berikut. Langganan ini mengizinkan fungsi Lambda untuk menerima pesan dari AWS IoT. Anda menggunakan langganan ini ketika Anda mengirim pesan dari AWS IoT konsol yang memanggil fungsi.
-
Untuk sumbernya, pilihLayanan, dan kemudian pilihIoT Cloud.
-
Untuk target, pilihFungsi Lambda, dan kemudian pilihGreengrass_HelloWorld_Penghitung.
-
Untuk filter topik, masukkan
hello/world/counter/trigger
.
Ekstensi
/trigger
digunakan dalam filter topik ini karena Anda membuat dua langganan dan tidak ingin mereka mengganggu satu sama lain. -
Pastikan bahwa Greengrass daemon berjalan, seperti yang dijelaskan dalam Men-deploy konfigurasi cloud ke perangkat core.
-
Pada halaman konfigurasi grup, pilihDeploy.
-
Setelah deployment Anda selesai, kembali ke halaman beranda konsol AWS IoT dan pilih Uji.
-
Konfigurasi bidang berikut:
-
Untuk Topik langganan, masukkan
hello/world/counter
. -
Untuk Kualitas Layanan, pilih 0.
-
Untuk Tampilan muatan MQTT, pilih Tampilkan muatan sebagai string.
-
-
Pilih Berlangganan.
Tidak seperti Bagian 1 dari modul ini, Anda seharusnya tidak melihat pesan apa pun setelah Anda berlangganan
hello/world/counter
. Hal ini karena kodegreengrassHelloWorldCounter.py
yang menerbitkan ke topikhello/world/counter
adalah di dalam fungsi handler, yang berjalan hanya ketika fungsi tersebut dipanggil.Dalam modul ini, Anda mengonfigurasi
Greengrass_HelloWorld_Counter
fungsi Lambda akan dipanggil ketika menerima pesan MQTT padahello/world/counter/trigger
topik.ParameterGreengrass_HelloWorld_PenghitungkepadaIoT Cloudberlangganan memungkinkan fungsi untuk mengirim pesan keAWS IoTpada
hello/world/counter
Topik. ParameterIoT CloudkepadaGreengrass_HelloWorld_Penghitungberlangganan memungkinkanAWS IoTmengirim pesan ke fungsihello/world/counter/trigger
Topik. -
Untuk menguji siklus hidup berumur panjang, memanggil fungsi Lambda dengan menerbitkan pesan ke
hello/world/counter/trigger
topik. Anda dapat menggunakan pesan default.catatan
Fungsi
Greengrass_HelloWorld_Counter
mengabaikan isi dari pesan yang diterima. Itu hanya menjalankan kode difunction_handler
, yang mengirim pesan kehello/world/counter
topik. Anda dapat meninjau kode ini dariAWS IoT GreengrassCore SDK for Pythondi atas GitHub.
Setiap kali pesan diterbitkan ke hello/world/counter/trigger
topik, my_counter
variabel bertambah. Jumlah doa ini ditampilkan dalam pesan yang dikirim dari fungsi Lambda. Karena fungsi handler termasuk siklus tidur 20 detik (time.sleep(20)
), berulang kali memicu handler antrian tanggapan dari AWS IoT Greengrass Core.
