Kinesis 이벤트 소스 매핑 매개 변수

Kinesis 이벤트 소스 매핑 매개 변수 (Kinesis event source mapping parameters)

Lambda 이벤트 소스 매핑을 사용해 Lambda 함수가 Amazon Kinesis Data Streams의 레코드를 처리하도록 구성할 수 있어요. 이벤트 소스 매핑은 Kinesis 스트림의 레코드를 읽고 배치로 함수를 호출할 때 구성할 수 있는 여러 매개 변수를 제공해요.

출처: AWS Lambda 개발자 안내서

본문

Kinesis 이벤트 소스 매핑을 구성할 때 다음 매개 변수를 조정할 수 있어요.

  • 배치 크기(Batch size) – 한 번에 함수에 전달되는 레코드 수. 기본값은 100이고 최대 10,000까지 설정할 수 있어요.
  • 배치 창(Batch window) – 레코드를 수집하기 위해 기다리는 최대 시간(초). 최대 300초까지 설정할 수 있어요.
  • 시작 위치(Starting position) – 스트림에서 읽기 시작할 위치. LATEST(기본값) 또는 TRIM_HORIZON 일 수 있어요.
  • 동시성(Concurrency) – 이벤트 소스 매핑이 병렬로 처리하는 샤드당 동시 인스턴스 수.
  • 처리되지 않은 레코드 처리 – 함수가 실패할 때 Lambda가 일괄적으로 처리되지 않은 레코드를 처리하는 방식을 제어하는 설정.

기본 동작 (Default behavior)

기본적으로 Lambda는 스트림의 각 샤드에 대해 하나의 샤드 반복자를 사용해요. Lambda는 스트림을 폴링하고 함수가 각 레코드 배치를 성공적으로 처리할 때까지 대기한 다음 스트림 반복자를 진행해요.

실패가 발생하면 Lambda는 실패한 배치를 다시 시도해요. 설정에 따라 Lambda는 실패한 배치에 대해 동일한 배치 또는 다른 배치를 보낼 수 있어요.

배치 창 사용 (Using a batch window)

배치 창을 지정하면 Lambda가 배치 크기에 도달하지 않아도 지정된 시간이 경과할 때까지 기다렸다가 레코드를 수집할 수 있어요. 이렇게 하면 짧은 시간에 레코드가 많지 않을 때도 레코드를 더 효율적으로 일괄 처리할 수 있어요.

더 알아보기 (Learn more)