API Gateway API로 Lambda 오류 처리하기
API Gateway API로 Lambda 오류 처리하기 (Handling Lambda errors with an API Gateway API)
API Gateway는 모든 호출·함수 오류를 내부 오류로 취급해요. Lambda API가 호출 요청을 거부하면 API Gateway는 500 오류 코드를 반환해요. 함수가 실행되지만 오류를 반환하거나 잘못된 형식의 응답을 반환하면 API Gateway는 502를 반환해요. 두 경우 모두 API Gateway 응답의 본문은 {"message": "Internal server error"}예요.
참고
API Gateway는 Lambda 호출을 재시도하지 않아요. Lambda가 오류를 반환하면 API Gateway는 클라이언트에게 오류 응답을 반환해요.
오류 응답을 커스터마이즈하려면 코드에서 오류를 잡아 필요한 형식으로 응답을 구성해야 해요.
본문
예제 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 오류로 변환해요. 함수가 오류를 처리했으므로 트레이스 맵에서 함수 노드는 초록색으로 표시돼요.