API Gateway에서 "Lambda 프록시 통합 사용"을 할 때 상태 코드 지정

2590 단어 람다APIGateway

통합 응답 따위 선택할 수 없지만! ! !





네. 매우 곤란했습니다. 통합 응답이 없으면 오류 코드를 정규식으로 구분할 수 없습니다.
원인은 Lambda 프록시 통합의 사용입니다.

원인을 알면 일단 그것을 잘라 보자.
잘린
(원하지 않는 상태에서) 오류가 발생했습니다.

돌아가자.
프록시 통합이 뭔가 열심히 해 주신 덕분에 내 API는 오류 이외에 잘 말한 것을 알았습니다. 가능하면 그대로 두고 싶습니다.

원래 Lambda 측에서 오류를 내는 방법이 잘못 되었습니까?



Amazon API Gateway에서 적절한 HTTP 상태 코드를 반환하는 방법 이나 [AWS] Lambda + API Gateway에서 서버리스 시작 2 , 심지어 API Gateway에서 Lambda 오류 처리(공식 문서) 를 본 결과,

index.js(lambda/nodejs/발췌)
exports.handler = function(event, context, callback) {
    (略)
    callback(new Error(エラー文"));
};

같은 일로 하면 에러가 만들어진다는 것. 즉시 시도해 봅시다.

안돼요. 또한이 오류로 함께 나가기를 원했던 오류 문장도 없습니다.

해결



index.js(lambda/nodejs)
(略)
let response = {
        statusCode: 400,
        headers: {"Access-Control-Allow-Origin" : "*"},
        body:"エラー文",
    };
}
callback(null,response);

간단하게 이것으로 OK였습니다.

제대로 400으로 돌아왔습니다.

에러도 프록시 통합이 뭔가 잘하는 일을 해주고 있겠지요. 편리!

좋은 웹페이지 즐겨찾기