Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Membangun fungsi Lambda dengan Python
Anda bisa menjalankan kode Python di AWS Lambda. Lambda menyediakan runtime untuk Python yang menjalankan kode Anda untuk memproses peristiwa. Kode Anda berjalan di lingkungan yang menyertakan SDK untuk Python (Boto3), dengan kredensi dari peran AWS Identity and Access Management (IAM) yang Anda kelola. Untuk mempelajari lebih lanjut tentang SDK versi yang disertakan dengan runtime Python, lihat. Versi yang disertakan runtime SDK
Lambda mendukung runtime Python berikut.
Nama | Pengidentifikasi | Sistem operasi | Tanggal pengusangan | Buat fungsi blok | Pembaruan fungsi blok |
---|---|---|---|---|---|
Python 3.12 |
|
Amazon Linux 2023 |
Tidak dijadwalkan |
Tidak dijadwalkan |
Tidak dijadwalkan |
Python 3.11 |
|
Amazon Linux 2 |
Tidak dijadwalkan |
Tidak dijadwalkan |
Tidak dijadwalkan |
Python 3.10 |
|
Amazon Linux 2 |
Tidak dijadwalkan |
Tidak dijadwalkan |
Tidak dijadwalkan |
Python 3.9 |
|
Amazon Linux 2 |
Tidak dijadwalkan |
Tidak dijadwalkan |
Tidak dijadwalkan |
Python 3.8 |
|
Amazon Linux 2 |
Okt 14, 2024 |
Februari 28, 2025 |
Mar 31, 2025 |
Untuk membuat fungsi Python
-
Buka Konsol Lambda
. -
Pilih Buat fungsi.
-
Konfigurasikan pengaturan berikut:
-
Nama fungsi: Masukkan nama untuk fungsi tersebut.
-
Runtime: Pilih Python 3.12.
-
-
Pilih Buat fungsi.
-
Untuk mengonfigurasi peristiwa uji, pilih Uji.
-
Untuk Nama peristiwa, masukkan
test
. -
Pilih Simpan perubahan.
-
Untuk mengaktifkan fungsi, pilih Uji.
Konsol membuat fungsi Lambda dengan satu file sumber bernama lambda_function
. Anda dapat mengedit file ini dan menambahkan lebih banyak file di editor kode bawaan. Untuk menyimpan perubahan Anda, pilih Simpan. Selanjutnya, untuk menjalankan kode, pilih Uji.
Fungsi Lambda Anda dilengkapi dengan grup CloudWatch log Log. Fungsi runtime mengirimkan detail tentang setiap pemanggilan ke Log. CloudWatch Detail tersebut menyampaikan log yang dihasilkan fungsi Anda selama invokasi. Jika fungsi mengembalikan kesalahan, Lambda memformat kesalahan dan mengembalikannya ke pemanggil.
Topik
- Versi yang disertakan runtime SDK
- Format respons
- Shutdown anggun untuk ekstensi
- Tentukan penangan fungsi Lambda dengan Python
- Bekerja dengan arsip file.zip untuk fungsi Python Lambda
- Deploy fungsi Lambda Python dengan gambar kontainer
- Bekerja dengan lapisan untuk fungsi Lambda Python
- Menggunakan objek konteks Lambda untuk mengambil informasi fungsi Python
- Log dan pantau fungsi Python Lambda
- AWS Lambdapengujian fungsi dengan Python
- Menginstrumentasi kode Python di AWS Lambda
Versi yang disertakan runtime SDK
Versi yang AWS SDK disertakan dalam runtime Python tergantung pada versi runtime dan versi Anda. Wilayah AWS Untuk menemukan versi yang SDK disertakan dalam runtime yang Anda gunakan, buat fungsi Lambda dengan kode berikut.
import boto3 import botocore def lambda_handler(event, context): print(f'boto3 version: {boto3.__version__}') print(f'botocore version: {botocore.__version__}')
Format respons
Dalam Python 3.12 dan runtime Python yang lebih baru, fungsi mengembalikan karakter Unicode sebagai bagian dari responsnya. JSON Runtime Python sebelumnya mengembalikan urutan yang diloloskan untuk karakter Unicode dalam tanggapan. Misalnya, di Python 3.11, jika Anda mengembalikan string Unicode seperti”こんにちは“, itu lolos dari karakter Unicode dan mengembalikan “\ u3053\ u3093\ u306b\ u3061\ u306f”. Runtime Python 3.12 mengembalikan yang asli”こんにちは".
Menggunakan respons Unicode mengurangi ukuran respons Lambda, membuatnya lebih mudah untuk memasukkan respons yang lebih besar ke dalam ukuran muatan maksimum 6 MB untuk fungsi sinkron. Pada contoh sebelumnya, versi escaped adalah 32 byte — dibandingkan dengan 17 byte dengan string Unicode.
Saat Anda meningkatkan ke Python 3.12, Anda mungkin perlu menyesuaikan kode Anda untuk memperhitungkan format respons baru. Jika pemanggil mengharapkan Unicode lolos, Anda harus menambahkan kode ke fungsi kembali untuk melarikan diri dari Unicode secara manual, atau menyesuaikan pemanggil untuk menangani pengembalian Unicode.
Shutdown anggun untuk ekstensi
Python 3.12 dan runtime Python yang lebih baru menawarkan kemampuan shutdown anggun yang ditingkatkan untuk fungsi dengan ekstensi eksternal. Ketika Lambda mematikan lingkungan eksekusi, Lambda mengirimkan SIGTERM
sinyal ke runtime dan kemudian SHUTDOWN
acara ke setiap ekstensi eksternal terdaftar. Anda dapat menangkap SIGTERM
sinyal dalam fungsi Lambda Anda dan membersihkan sumber daya seperti koneksi database yang dibuat oleh fungsi tersebut.
Untuk mempelajari lebih lanjut tentang siklus hidup lingkungan eksekusi, lihat. Memahami siklus hidup lingkungan eksekusi Lambda Untuk contoh cara menggunakan shutdown anggun dengan ekstensi, lihat Repositori AWS Sampel GitHub