本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
API Gateway 會將所有調用和函數錯誤視為內部錯誤。如果 Lambda API 拒絕調用請求,則 API Gateway 會傳回 500 錯誤代碼。如果函數執行但傳回錯誤,或傳回格式錯誤的回應,API Gateway 會傳回 502。在這兩種情況下,API Gateway 的回應主體為 {"message":
"Internal server error"}
。
注意
API Gateway 不會重試任何 Lambda 調用。如果 Lambda 傳回錯誤,API Gateway 會將錯誤回應傳回至用戶端。
下列範例顯示導致函數錯誤和 API Gateway 傳回 502 的請求的 X-Ray 流程圖。用戶端會收到一般錯誤訊息。

若要自訂錯誤回應,您必須在程式碼中發現錯誤,並以必要的格式格式化回應。
範例 index.mjs - 格式錯誤
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 將此回應轉換為具有自定義狀態碼和主體的 HTTP 錯誤。在流程圖中,函數節點是綠色的,因為它會處理錯誤。
