Menangani kesalahan Lambda dengan API Gateway API - AWS Lambda

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

Menangani kesalahan Lambda dengan API Gateway API

API Gateway memperlakukan semua kesalahan invokasi dan fungsi sebagai kesalahan internal. Jika API Lambda menolak permintaan invokasi, API Gateway mengembalikan kode kesalahan 500. Jika fungsi berjalan, tetapi mengembalikan kesalahan atau mengembalikan respons dalam format yang salah, API Gateway mengembalikan kode 502. Dalam kedua kasus tersebut, badan respons dari API Gateway adalah {"message": "Internal server error"}.

catatan

API Gateway tidak mencoba lagi invokasi Lambda apa pun. Jika Lambda mengembalikan kesalahan, API Gateway mengembalikan respons kesalahan ke klien.

Contoh berikut menunjukkan peta jejak X-Ray untuk permintaan yang mengakibatkan kesalahan fungsi dan 502 dari API Gateway. Klien menerima pesan kesalahan umum.

Peta jejak untuk kesalahan fungsi dengan API Gateway.

Untuk menyesuaikan respons kesalahan, Anda harus menangkap kesalahan dalam kode dan memformat tanggapan dalam format yang diperlukan.

contoh index.mjs - Kesalahan pemformatan
var formatError = function(error){ var response = { "statusCode": error.statusCode, "headers": { "Content-Type": "text/plain", "x-amzn-ErrorType": error.code }, "isBase64Encoded": false, "body": error.code + ": " + error.message } return response }

API Gateway mengonversi respons ini menjadi kesalahan HTTP dengan kode dan badan status kustom. Di peta jejak, node fungsi berwarna hijau karena menangani kesalahan tersebut.

Peta jejak untuk kesalahan yang diformat dengan API Gateway.