Lambda 함수 배치 크기가 구성된 배치 크기보다 작은 이유는 무엇입니까?

2분 분량
0

Amazon Kinesis Data Streams를 처리할 때 AWS Lambda 함수의 배치 크기가 구성한 배치 크기보다 작습니다. Lambda 함수가 Amazon Kinesis 이벤트 소스에서 구성한 배치 크기보다 호출당 레코드를 더 적게 수신하는 이유는 무엇입니까?

해결 방법

Kinesis 이벤트 소스를 구성할 때 설정하는 배치 크기에 따라 Lambda 함수가 처리할 수 있는 최대 배치 크기가 결정됩니다. Kinesis 이벤트 소스에 의해 호출될 때 함수가 처리하는 배치 크기는 구성하는 배치 크기보다 작을 수 있습니다.

네 개의 값이 Kinesis 이벤트 소스에 의해 호출될 때 Lambda 함수가 처리하는 배치 크기를 결정합니다.

  • Kinesis 이벤트 소스를 구성할 때 설정하는 최대 배치 크기 제한입니다.
  • 이벤트 소스를 폴링할 때 Lambda가 수행하는 GetRecords 작업에서 수신된 레코드의 수입니다.
  • 6MB Lambda 호출 페이로드 크기 제한에 맞출 수 있는 레코드의 수입니다.
    참고: 레코드 크기가 클수록 페이로드에 맞출 수 있는 레코드의 수가 줄어듭니다.
  • Kinesis Data Streams의 데이터 양입니다.
    참고: Kinesis Data Streams의 트래픽이 낮은 경우 함수가 처리하는 배치 크기가 더 작아집니다.

함수가 처리할 대략적인 배치 크기를 계산하려면 다음 공식을 사용합니다.

6000 KB Lambda invocation payload size limit ÷ The size of an individual record in your batch (in KB) = Approximate number of records processed for each batch

예를 들어 배치의 각 레코드가 64KB인 경우 함수가 배치당 약 90개의 레코드를 처리할 것으로 예상할 수 있습니다.


관련 정보

Amazon Kinesis에서 AWS Lambda 사용

스트림 작업

AWS 공식
AWS 공식업데이트됨 3년 전