Membangun fungsi Lambda dengan Python - AWS Lambda

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 for Python (Boto3), dengan AWS Identity and Access Management kredensi dari peran (IAM) yang Anda kelola. Untuk mempelajari lebih lanjut tentang versi SDK yang disertakan dengan runtime Python, lihat. Versi SDK yang disertakan Runtime

Lambda mendukung runtime Python berikut.

Nama Pengidentifikasi Sistem operasi Tanggal pengusangan Buat fungsi blok Pembaruan fungsi blok

Python 3.13

python3.13

Amazon Linux 2023

30 Jun 2029

31 Jul 2029

Agustus 31, 2029

Python 3.12

python3.12

Amazon Linux 2023

Okt 31, 2028

Nov 30, 2028

10 Jan 2029

Python 3.11

python3.11

Amazon Linux 2

30 Jun 2026

Juli 31, 2026

Agustus 31, 2026

Python 3.10

python3.10

Amazon Linux 2

30 Jun 2026

Juli 31, 2026

Agustus 31, 2026

Python 3.9

python3.9

Amazon Linux 2

Nov 3, 2025

8 Desember 2025

8 Jan 2026

Untuk membuat fungsi Python
  1. Buka Konsol Lambda.

  2. Pilih Buat fungsi.

  3. Konfigurasikan pengaturan berikut:

    • Nama fungsi: Masukkan nama untuk fungsi tersebut.

    • Runtime: Pilih Python 3.13.

  4. Pilih Buat fungsi.

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. Di bagian DEPLOY, pilih Deploy untuk memperbarui kode fungsi Anda. Kemudian, untuk menjalankan kode Anda, pilih Create test event di bagian TEST EVENTS.

Fungsi Lambda Anda dilengkapi dengan grup CloudWatch log Log. Runtime fungsi mengirimkan detail tentang setiap invokasi ke CloudWatch Logs. Detail tersebut menyampaikan log yang dihasilkan fungsi Anda selama invokasi. Jika fungsi mengembalikan kesalahan, Lambda memformat kesalahan dan mengembalikannya ke pemanggil.

Versi SDK yang disertakan Runtime

Versi AWS SDK yang disertakan dalam runtime Python bergantung pada versi runtime dan versi Anda. Wilayah AWS Untuk menemukan versi SDK yang 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__}')

Fitur eksperimental di Python 3.13

Runtime terkelola Python 3.13 dan gambar dasar tidak mendukung fitur eksperimental berikut. Anda tidak dapat mengaktifkan fitur ini menggunakan flag runtime. Untuk menggunakan fitur-fitur ini dalam fungsi Lambda, Anda harus menerapkan runtime kustom atau image kontainer yang berisi build Python 3.13 Anda sendiri.

Format respons

Dalam Python 3.12 dan runtime Python yang lebih baru, fungsi mengembalikan karakter Unicode sebagai bagian dari respons JSON mereka. Runtime Python sebelumnya mengembalikan urutan yang lolos 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 meng-upgrade ke Python 3.12 atau yang lebih baru runtime Python, 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, ia mengirimkan SIGTERM sinyal ke runtime dan kemudian SHUTDOWN peristiwa 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 .