2

여러 개의 DynamoDB 스트림이 이벤트 소스로 구성되어 있으며 더 큰 파이프 라인의 일부인 람다 함수가 있습니다. 내 수표를 검사하는 동안, 나는 다운 스트림 구성 요소 중 하나에 누락 된 데이터가 있음을 발견했습니다. 앞서 언급 한 DynamoDB 스트림 중 하나에 이벤트 소스로 구성된 간단한 람다 함수를 작성하려고합니다. 이로 인해 내 DynamoDB 스트림 중 하나에서 두 개의 Lambda 함수가 읽히게됩니다. 이게 괜찮은지 궁금 해서요? 두 Lamdba 함수 모두 스트림에있는 모든 레코드를 수신 할 수 있으며, 알고 있어야 할 리소스 (읽기/쓰기 처리량) 제한이 있습니다.하나의 DynamoDB 스트림에 여러 개의 AWS 람다 함수가 있습니다.

다음 AWS 웹 사이트에서 이에 대한 모든 관련 문서를 찾을 수 있지만 수 없습니다 당신이 다음 을 수행해야합니다, 내 스트림 기록을 스트림에 액세스하고 처리 할 수 ​​파편

이에 대한 처리

을 찾았어요

  • 액세스하려는 스트림의 고유 한 Amazon Resource Name (ARN)을 결정하십시오.
  • 관심있는 스트림 레코드가있는 스트림의 샤드를 확인하십시오.
  • 샤드에 액세스하고 원하는 스트림 레코드를 검색하십시오.

참고 최대 두 개의 프로세스 만이 같은 스트림 샤드에서 읽어야합니다. 샤드 당 2 명 이상의 독자가 있다면 스로틀 링이 발생할 수 있습니다.

스트림을 API를 사용하여 스트림에서 수동으로 읽는 대신 스트림을 Lambda로 이벤트 소스로 구성하는 경우에 위와 관련이 없는지 확실하지 않습니다.

+0

여기서 두 개의 람다를 언급 할 때 동일한 람다 함수의 인스턴스가 두 개 이상이거나 서로 다른 두 개의 람다 함수를 의미합니까? – shrewquest

답변

2

이벤트 소스와 동일한 스트림을 사용하여 여러 개의 람다를 가질 수 있습니다. 그들은 서로 추론하지 않을 것이다. 그러나 문서에 다음과 같이 쓰여 있습니다 : "참고 최대 2 개의 프로세스 만이 같은 Streams 파편에서 동시에 읽어야합니다. 파드 당 2 개 이상의 독자가 있으면 조절이 발생할 수 있습니다." 따라서 스트림을 많이 사용하는 경우 Lambdas를 두 개 이상 연결하면 안됩니다.

관련 문제