Bagaimana Lambda menangani kesalahan dan mencoba ulang dengan pemanggilan asinkron - AWS Lambda

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

Bagaimana Lambda menangani kesalahan dan mencoba ulang dengan pemanggilan asinkron

Lambda mengelola antrian peristiwa asinkron fungsi Anda dan mencoba lagi kesalahan. Jika fungsi mengembalikan kesalahan, secara default Lambda mencoba menjalankannya dua kali lagi, dengan menunggu satu menit antara dua upaya pertama, dan dua menit antara upaya kedua dan ketiga. Kesalahan fungsi meliputi kesalahan yang dikembalikan oleh kode fungsi dan kesalahan yang dikembalikan oleh runtime fungsi, seperti waktu habis.

Apabila fungsi tidak memiliki ketersediaan konkurensi yang cukup untuk memproses semua peristiwa, permintaan tambahan akan diperlambat. Untuk kesalahan pelambatan (429) dan kesalahan sistem (seri 500), Lambda mengembalikan acara ke antrian dan mencoba menjalankan fungsi lagi hingga 6 jam secara default. Interval percobaan lagi meningkat secara eksponensial dari 1 detik setelah percobaan pertama hingga maksimum 5 menit. Jika antrian berisi banyak entri, Lambda meningkatkan interval coba lagi dan mengurangi tingkat di mana ia membaca peristiwa dari antrian.

Meskipun fungsi Anda tidak memunculkan kesalahan, fungsi dapat menerima peristiwa yang sama dari Lambda beberapa kali karena antrean itu sendiri pada akhirnya konsisten. Jika fungsi tidak dapat mengikuti peristiwa masuk, peristiwa juga dapat dihapus dari antrean tanpa dikirim ke fungsi. Pastikan bahwa kode fungsi Anda secara rapi menangani duplikasi peristiwa, dan bahwa Anda memiliki cukup konkurensi tersedia untuk menangani semua invokasi.

Ketika antrean sangat panjang, acara baru mungkin menua sebelum Lambda memiliki kesempatan untuk mengirimnya ke fungsi Anda. Saat peristiwa kedaluwarsa atau gagal dalam semua upaya pemrosesan, Lambda menghapusnya. Anda dapat mengonfigurasi penanganan kesalahan untuk fungsi mengurangi jumlah percobaan ulang yang dilakukan Lambda, atau membuang kejadian yang tidak diproses dengan lebih cepat.

Anda juga dapat mengonfigurasi Lambda untuk mengirim catatan invokasi ke layanan lain. Lihat Menangkap catatan pemanggilan asinkron Lambda untuk mempelajari lebih lanjut.