View a markdown version of this page

Uji fungsi Lambda berumur panjang - AWS IoT Greengrass

Pemberitahuan akhir dukungan: Pada 7 Oktober 2026, AWS akan menghentikan dukungan untuk. AWS IoT Greengrass Version 1 Setelah 7 Oktober 2026, Anda tidak akan lagi dapat mengakses AWS IoT Greengrass V1 sumber daya. Untuk informasi lebih lanjut, silakan kunjungi Migrasi dari AWS IoT Greengrass Version 1.

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

Fungsi Lambda ber umur panjang dimulai secara otomatis ketika AWS IoT Greengrass inti dimulai dan berjalan dalam satu wadah (atau kotak pasir). 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 di AWS Lambda konsol atau di AWS IoT Greengrass Core SDK untuk Python aktif GitHub.

Pada langkah ini, Anda membuat langganan yang memungkinkan fungsi Lambda dan AWS IoT untuk bertukar pesan MQTT. Kemudian Anda men-deploy grup dan menguji fungsi.

  1. Pada halaman konfigurasi grup, pilih Lang ganan, lalu pilih Tam bah.

  2. Di bawah Jenis sumber, pilih fungsi Lambda, lalu pilih Greengrass_HelloWorld_Counter.

  3. Di bawah Jenis target, pilih Layanan, pilih IoT Cloud.

  4. Untuk Filter topik, masukkan hello/world/counter.

  5. Pilih Buat langganan.

    Langganan tunggal ini hanya berjalan dalam satu arah: dari fungsi Greengrass_HelloWorld_Counter Lambda ke AWS IoT. Untuk memanggil (atau memicu) fungsi Lambda ini dari cloud, Anda harus membuat langganan dalam arah yang bertentangan.

  6. Ikuti langkah 1 - 5 untuk menambahkan langganan lain yang menggunakan nilai-nilai berikut. Langganan ini mengizinkan fungsi Lambda untuk menerima pesan dari AWS IoT. Anda menggunakan langganan ini saat mengirim pesan dari AWS IoT konsol yang memanggil fungsi tersebut.

    • Untuk sumbernya, pilih Layanan, lalu pilih IoT Cloud.

    • Untuk target, pilih fungsi Lambda, lalu pilih Greengrass_HelloWorld_Counter.

    • 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.

  7. Pastikan bahwa Greengrass daemon berjalan, seperti yang dijelaskan dalam Men-deploy konfigurasi cloud ke perangkat core.

  8. Pada halaman konfigurasi grup, pilih Deplo y.

  9. Setelah penerapan selesai, kembali ke halaman ber AWS IoT anda konsol dan pilih U ji.

  10. Konfigurasi bidang berikut:

    • Untuk Topik langganan, masukkan hello/world/counter.

    • Untuk Kualitas Layanan, pilih 0.

    • Untuk Tampilan muatan MQTT, pilih Tampilkan muatan sebagai string.

  11. 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 kode greengrassHelloWorldCounter.py yang menerbitkan ke topik hello/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 pada hello/world/counter/trigger topik.

    Lang Greengrass_HelloWorld_Counter ganan IoT Cloud memungkinkan fungsi untuk mengirim pesan ke AWS IoT hello/world/counter topik tersebut. IoT Cloud untuk Greengrass_HelloWorld_Counter berlangganan memungkinkan AWS IoT untuk mengirim pesan ke fungsi pada hello/world/counter/trigger topik tersebut.

  12. Untuk menguji siklus hidup berumur panjang, memanggil fungsi Lambda dengan menerbitkan pesan ke hello/world/counter/trigger topik. Anda dapat menggunakan pesan default.

    Pesan default Halo dari AWS IoT konsol dikirim ke hello/world/counter/trigger dengan tombol Publikasikan ke topik disorot.
    catatan

    Fungsi Greengrass_HelloWorld_Counter mengabaikan isi dari pesan yang diterima. Itu hanya menjalankan kode di function_handler, yang mengirim pesan ke hello/world/counter topik. Anda dapat meninjau kode ini dari AWS IoT Greengrass Core SDK untuk Python di 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 pengendali fungsi menyertakan siklus tidur 20 detik (time.sleep(20)), berulang kali memicu handler mengantri respons dari inti. AWS IoT Greengrass

Screenshot menunjukkan penambahan dari Invocation Count dari 1, 2, dan 3.