Lambda를 API Gateway에서 비동기 적으로 호출했습니다.

1950 단어 APIGateway람다AWS
Lambda는 동일한 리전 내에서의 동시 실행 수가 「1,000」으로,
동기 호출의 경우 호출시에 MAX를 넘은 이후의 처리는 에러가 되어 버리는군요.
SQS를 사용하여 관리하라고 말할 수 있지만,
가능한 한 사용하는 서비스 수는 누르고 심플하게 깔끔하게 받고 싶다.
그래서 어떻게든 편하게 하고 싶어서 조사해 보았는데, Lambda를 비동기로 호출하면 동시 실행수의 상한으로부터 흘러넘친 리퀘스트를 재시행해 준다고 공식의 문서에 있었습니다.

동시 실행 수 관리
비동기식으로 Lambda를 호출하면 이벤트를 최대 6시간 동안 자동으로 재시도한다고 기록됩니다.
그래서 이번에는 API Gateway를에서 Lambda를 비동기적으로 호출해 보기로 했습니다.

API Gateway에서 AWS Lambda 함수에 대한 REST API 생성
네. 이쪽도 공식 문서에 제대로 하는 방법이 쓰고 있네요.
기본적으로 마음을 잃고 ↑에 쓰여진 절차를 따르면 비동기 실행할 수 있었습니다만,
조금 어렵다고 할까 말이 부족한 쓰는 방법을 하고 있는 개소가 있었으므로,
이번은 거기를 포인트로서 기재합니다.

ARN 정보



Lambda와 역할의 ARN을 API Gateway의 "통합 요청"에 등록하지만,
Lambda의 ARN에 대해서는 추가하는 내용이 있습니다.

위의 이미지의 검은 색 부분은 ARN 자체입니다.
봐 주시면 알겠다고 생각합니다만, Lambda의 ARN의 전후에는 「/2015-03-31/functions/」와 「invocations」를 더할 필요가 있습니다.
롤에 대해서는 ARN을 그대로 카피&페이스트로 괜찮습니다.

HTTP 헤더 정보




API Gateway의 "통합 요청"→ "HTTP 헤더"에는 위의 설정이 필요합니다.
조심하고 싶은 것은 「맵핑원」의 「'Event'」로, 이것은 「'」도 포함한 형태로 기재할 필요가 있습니다.

기타



API Gateway의 「모델」에 대해서는 「Input」만 등록하면 괜찮습니다.
Output 및 Result는 공식 문서의 절차에 사용되지 않습니다.

앞에서 언급했듯이 기본적으로 공식 절차대로 진행하면 문제없이 구현할 수 있습니다.
인터넷에서 조사하면 여러가지 기사가 나옵니다만, 우선은 공식의 순서로 만들어 보는 것을 추천합니다.

좋은 웹페이지 즐겨찾기