Amazon SQS 이벤트 소스 매핑 구성
Amazon SQS 이벤트 소스 매핑 구성 (Configuring Amazon SQS event source mappings)
Lambda 이벤트 소스 매핑을 사용해 Lambda 함수가 Amazon Simple Queue Service(Amazon SQS)의 메시지를 처리하도록 구성할 수 있어요. 이벤트 소스 매핑은 SQS 큐를 폴링하고 배치로 메시지를 함수에 전달해요.
본문
이벤트 소스 매핑은 SQS 큐에서 메시지를 가져와서 Lambda 함수를 호출해요. Lambda는 큐에서 메시지를 일괄적으로 가져오고 각 배치를 함수에 전달해요.
이벤트 소스 매핑 생성 (Creating an event source mapping)
콘솔을 사용해 만들기
- Lambda 콘솔의 Functions 페이지를 열어요.
- 트리거를 추가할 함수를 선택해요.
- Add trigger 를 선택하고 트리거 유형으로 Amazon SQS 를 선택해요.
- 사용할 SQS 큐를 선택해요.
- 설정을 구성하고 Add 를 선택해요.
이벤트 소스 매핑 권한 (Event source mapping permissions)
Lambda가 SQS 큐에서 읽으려면 실행 역할에 다음 권한이 필요해요.
sqs:ReceiveMessagesqs:DeleteMessagesqs:GetQueueAttributes
또한 Amazon SQS가 Lambda 함수를 호출하도록 허용하는 권한이 구성되어 있어야 해요.
구성 매개 변수 (Configuration parameters)
SQS 이벤트 소스 매핑을 구성할 때 다음 매개 변수를 조정할 수 있어요.
- 배치 크기(Batch size) – 한 번에 함수에 전달되는 메시지 수. 기본값은 10, 최대 10,000까지 설정할 수 있어요.
- 배치 창(Batch window) – 메시지를 수집하기 위해 기다리는 최대 시간(초).
메시지에 대한 함수 응답 (Function responses to messages)
함수가 배치를 성공적으로 처리하면 Lambda가 큐에서 메시지를 삭제해요. 부분 배치 실패를 지원하도록 함수를 구성하면 함수는 처리 실패를 나타내는 메시지 목록을 반환할 수 있으며, Lambda는 실패한 메시지만 재시도를 위해 남겨둬요.
데드 레터 큐 (Dead-letter queues)
메시지를 처리하지 못하면 데드 레터 큐(DLQ)로 보낼 수 있어요. Lambda 함수에서 지정한 DLQ 또는 원본 큐에 구성된 DLQ를 사용해 메시지를 격리할 수 있어요.