

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 sumber daya. AWS IoT Greengrass V1 Untuk informasi lebih lanjut, silakan kunjungi [Migrasi dari AWS IoT Greengrass Version 1](https://docs.aws.amazon.com/greengrass/v2/developerguide/migrate-from-v1.html).

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

# Buat dan paketkan fungsi Lambda
<a name="create-lambda"></a>

Contoh fungsi Python Lambda dalam modul ini menggunakan [AWS IoT Greengrass Core SDK](lambda-functions.md#lambda-sdks-core) for Python untuk mempublikasikan pesan MQTT.

Dalam langkah ini, Anda:
+ Unduh AWS IoT Greengrass Core SDK untuk Python ke komputer Anda (bukan AWS IoT Greengrass perangkat inti).
+ Buat paket deployment fungsi Lambda sesuai dengan kode fungsi dan dependensinya.
+ Gunakan konsol Lambda untuk membuat fungsi Lambda dan mengunggah paket deployment.
+ Terbitkan versi fungsi Lambda dan buat alias yang menunjuk ke versi.

Untuk menyelesaikan modul ini, Python 3.7 harus diinstal pada perangkat core Anda.

 <a name="create-lambda-procedure"></a>

1. <a name="download-ggc-sdk"></a> Dari halaman unduhan [AWS IoT Greengrass Core SDK](what-is-gg.md#gg-core-sdk-download), unduh AWS IoT Greengrass Core SDK untuk Python ke komputer Anda.

1. Unzip paket download untuk mendapatkan kode fungsi Lambda dan SDK.

   Fungsi Lambda dalam modul ini menggunakan:
   + File `greengrassHelloWorld.py` di `examples\HelloWorld`. Ini kode fungsi Lambda Anda. Setiap lima detik, fungsi menerbitkan salah satu dari dua pesan yang mungkin ke `hello/world` topik.
   + Folder `greengrasssdk` ini. Ini SDK.

1. Salin folder `greengrasssdk` ke dalam folder `HelloWorld` yang berisi `greengrassHelloWorld.py`.

1. Untuk membuat paket deployment fungsi Lambda, simpan `greengrassHelloWorld.py` dan folder `greengrasssdk` ke sebuah file terkompresi `zip` bernama `hello_world_python_lambda.zip`. File `py` dan folder `greengrasssdk` harus berada di root direktori.  
![\[Screenshot menunjukkan isi zip dari hello_word_python_lambda.zip.\]](http://docs.aws.amazon.com/id_id/greengrass/v1/developerguide/images/gg-get-started-017.png)

   Pada sistem seperti Unix (termasuk terminal Mac), Anda dapat menggunakan perintah berikut untuk mengemas file dan folder:

   ```
   zip -r hello_world_python_lambda.zip greengrasssdk greengrassHelloWorld.py
   ```
**catatan**  
Tergantung pada distribusi Anda, Anda mungkin perlu menginstal `zip` terlebih dahulu (sebagai contoh, dengan menjalankan `sudo apt-get install zip`). Perintah penginstalan untuk distribusi Anda mungkin berbeda.

   Sekarang Anda siap untuk membuat fungsi Lambda Anda dan mengunggah paket deployment.

1. Buka konsol Lambda dan pilih **Buat fungsi**.

1. Pilih **Tulis dari awal**.

1. Beri nama fungsi Anda **Greengrass\$1HelloWorld**, dan atur bidang yang tersisa sebagai berikut:
   + Untuk **Waktu aktif**, pilih **Python 3.7**.
   + Untuk **Izin**, pertahankan pengaturan default. Hal ini menciptakan peran eksekusi yang memberikan izin Lambda basic. Peran ini tidak digunakan oleh AWS IoT Greengrass.

   Pilih **Buat fungsi**.

1. Unggah paket deployment fungsi Lambda Anda:

   1. <a name="lambda-console-upload"></a>Pada tab **Kode** ini, di bawah **Sumber kode**, pilih **Unggah dari**. Dari dropdown, pilih **file .zip**.  
![\[Unggah dari dropdown dengan file .zip disorot.\]](http://docs.aws.amazon.com/id_id/greengrass/v1/developerguide/images/lra-console/upload-deployment-package.png)

   1. Pilih **Unggah**, lalu pilih paket deployment `hello_world_python_lambda.zip` Anda. Lalu, pilih **Simpan**.

   1. <a name="lambda-console-runtime-settings-para"></a>Pada tab **Kode** fungsi, di bawah **Pengaturan waktu aktif**, pilih **Edit**, dan kemudian masukkan nilai-nilai berikut.
      + Untuk **Waktu pengoperasian**, pilih **Python 3.7**.
      + Untuk **Handler**, masukkan **greengrassHelloWorld.function\$1handler**  
![\[Bagian “Pengaturan runtime” dengan bidang “Runtime” disetel ke “Python 3.7" dan bidang “Handler” disetel ke ".function_handler”. greengrassHelloWorld\]](http://docs.aws.amazon.com/id_id/greengrass/v1/developerguide/images/gg-get-started-023-2.png)

   1. <a name="lambda-console-save-config"></a>Pilih **Simpan**.
**catatan**  
Tombol **Uji** di AWS Lambda konsol tidak berfungsi dengan fungsi ini. AWS IoT Greengrass Core SDK tidak berisi modul yang diperlukan untuk menjalankan fungsi Greengrass Lambda Anda secara independen di konsol. AWS Lambda Modul-modul ini (sebagai contoh, `greengrass_common`) dipasok ke fungsi setelah mereka di-deploy ke core Greengrass Anda.

1. <a name="publish-function-version"></a>Publikasikan fungsi Lambda:

   1. Dari bagian atas halaman menu **Tindakan** ini, pilih **Terbitkan versi baru**.  
![\[Screenshot dari menu Tindakan dengan Publikasikan versi baru yang disorot.\]](http://docs.aws.amazon.com/id_id/greengrass/v1/developerguide/images/gg-get-started-026.png)

   1. Untuk **Deskripsi versi**, masukkan **First version**, lalu pilih **Publikasikan**.  
![\[Screenshot dengan bidang Deskripsi Versi diatur ke Versi pertama dan tombol Publikasikan disorot.\]](http://docs.aws.amazon.com/id_id/greengrass/v1/developerguide/images/gg-get-started-027.png)

1. <a name="create-version-alias"></a>Buat [alias](https://docs.aws.amazon.com/lambda/latest/dg/configuration-aliases.html) untuk fungsi Lambda [version](https://docs.aws.amazon.com/lambda/latest/dg/versioning-aliases.html):
**catatan**  
Grup Greengrass dapat mereferensi fungsi Lambda dengan alias (direkomendasikan) atau dengan versi. Menggunakan alias membuatnya lebih mudah untuk mengelola pembaruan kode karena Anda tidak perlu mengubah tabel langganan atau definisi grup ketika kode fungsi diperbarui. Sebaliknya, Anda hanya mengarahkan alias ke versi fungsi baru.

   1. Dari bagian atas halaman menu **Tindakan** ini, pilih **Buat alias**.  
![\[Screenshot dari menu Tindakan diatur ke Buat alias.\]](http://docs.aws.amazon.com/id_id/greengrass/v1/developerguide/images/gg-get-started-028.png)

   1. Beri nama alias **GG\$1HelloWorld**, atur versi ke **1** (yang sesuai dengan versi yang baru saja Anda publikasikan), lalu pilih **Simpan**.
**catatan**  
AWS IoT Greengrass **tidak mendukung alias Lambda untuk versi \$1LATEST.**

         
![\[Tangkapan layar dari Buat alias baru dengan bidang Nama disetel ke GG_HelloWorld, dan bidang Versi disetel ke 1.\]](http://docs.aws.amazon.com/id_id/greengrass/v1/developerguide/images/gg-get-started-029.png)