Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Status fungsi lambda
Lambda menyertakan bidang State dalam konfigurasi fungsi untuk semua fungsi untuk menunjukkan kapan fungsi Anda siap dipanggil. Statememberikan informasi tentang status fungsi saat ini, termasuk apakah Anda dapat berhasil memanggil fungsi. Status fungsi tidak mengubah perilaku pemanggilan fungsi atau bagaimana fungsi Anda menjalankan kode.
catatan
Definisi status fungsi sedikit berbeda untuk SnapStart fungsi. Untuk informasi selengkapnya, lihat Lambda SnapStart dan keadaan fungsi.
Dalam banyak kasus, tabel DynamoDB adalah cara ideal untuk mempertahankan status di antara pemanggilan karena menyediakan akses data latensi rendah dan dapat skala dengan layanan Lambda. Anda juga dapat menyimpan data di Amazon EFS for Lambda
Status fungsi meliputi:
-
Pending— Setelah Lambda membuat fungsi, ia menetapkan status ke pending. Saat dalam keadaan tertunda, Lambda mencoba membuat atau mengkonfigurasi sumber daya untuk fungsi tersebut, seperti sumber daya VPC atau EFS. Lambda tidak memanggil fungsi selama status tertunda. Setiap pemanggilan atau tindakan API lainnya yang beroperasi pada fungsi gagal. -
Active— Fungsi Anda bertransisi ke status aktif setelah Lambda menyelesaikan konfigurasi sumber daya dan penyediaan. Fungsi hanya dapat berhasil dipanggil saat aktif. -
Failed— Menunjukkan bahwa konfigurasi sumber daya atau penyediaan mengalami kesalahan. Ketika pembuatan fungsi gagal, Lambda menetapkan status fungsi menjadi gagal, dan Anda harus menghapus dan membuat ulang fungsi tersebut. -
Inactive- Fungsi menjadi tidak aktif ketika sudah cukup lama idle bagi Lambda untuk merebut kembali sumber daya eksternal yang dikonfigurasi untuknya. Ketika Anda mencoba memanggil fungsi yang tidak aktif, pemanggilan gagal dan Lambda menetapkan fungsi ke status tertunda sampai sumber daya fungsi dibuat ulang. Jika Lambda gagal membuat ulang sumber daya, fungsi kembali ke keadaan tidak aktif. Anda mungkin perlu menyelesaikan kesalahan apa pun dan menyebarkan kembali fungsi Anda untuk mengembalikannya ke status aktif.Fungsi juga bertransisi ke
Inactivestatus jika Lambda kehilangan akses ke artefak sumber fungsi. Ini berlaku untuk fungsi gambar kontainer di mana gambar dihapus dari Amazon ECR atau izin dicabut, dan fungsi.zip yang menggunakan penyimpanan kode S3 yang dikelola sendiri di mana objek sumber dihapus atau izin kebijakan bucket dicabut. Untuk mengembalikan fungsi, kembalikan akses ke artefak sumber dan perbarui fungsinya.
Jika Anda menggunakan alur kerja SDK-based otomatisasi atau memanggil API layanan Lambda secara langsung, pastikan Anda memeriksa status fungsi sebelum pemanggilan untuk memverifikasi bahwa fungsi tersebut aktif. Anda dapat melakukan ini dengan tindakan Lambda API GetFunction, atau dengan mengonfigurasi pelayan menggunakan AWS SDK untuk Java 2.0.
aws lambda get-function --function-name my-function --query 'Configuration.[State, LastUpdateStatus]'
Anda akan melihat output berikut:
[ "Active", "Successful" ]
Operasi berikut gagal saat pembuatan fungsi tertunda:
Status fungsi selama pembaruan
Lambda memiliki dua operasi untuk memperbarui fungsi:
-
UpdateFunctionCode: Memperbarui paket penerapan fungsi
-
UpdateFunctionConfiguration: Memperbarui konfigurasi fungsi
Lambda menggunakan LastUpdateStatus atribut untuk melacak kemajuan operasi pembaruan ini. Saat pembaruan sedang berlangsung (kapan"LastUpdateStatus": "InProgress"):
-
Keadaan fungsi tetap ada
Active. -
Pemanggilan terus menggunakan kode dan konfigurasi fungsi sebelumnya sampai pembaruan selesai.
-
Operasi berikut gagal:
Ketika pembaruan gagal (kapan"LastUpdateStatus": "Failed"):
-
Keadaan fungsi tetap ada
Active. -
Pemanggilan terus menggunakan kode dan konfigurasi fungsi sebelumnya.
contoh GetFunctionConfiguration tanggapan
Contoh berikut adalah hasil GetFunctionConfiguration permintaan pada fungsi yang mengalami pembaruan.
{ "FunctionName": "my-function", "FunctionArn": "arn:aws:lambda:us-east-1:123456789012:function:my-function", "Runtime": "nodejs24.x", "VpcConfig": { "SubnetIds": [ "subnet-071f712345678e7c8", "subnet-07fd123456788a036", "subnet-0804f77612345cacf" ], "SecurityGroupIds": [ "sg-085912345678492fb" ], "VpcId": "vpc-08e1234569e011e83" },"State": "Active", "LastUpdateStatus": "InProgress", ... }