s3 버킷에 200 개의 jsonl (json-lines) 파일이 있습니다. 각 파일에는 DynamoDB에 쓸 10 만 개의 JSON이 포함되어 있습니다.
Lambda를 사용하여 S3에서 파일을 다운로드하고 DynamoDB에 파일을 일괄 적으로 쓰고 싶습니다 (파일이 이미 테이블 스키마와 완벽하게 일치 함).
200 개의 파일이 있지만 동시에 200 개의 람다를 호출 할 수 없습니다. DynamoDB는 초당 10,000 WCU로 제한되어 있기 때문에 초당 10,000 개의 행만 쓸 수 있습니다. 그리고 Lambda는 시간이 초과되기 전에 300 초 동안 만 지속될 수 있습니다.
가장 좋은 방법은 무엇입니까?
내 현재 생각은 한 번에 5 개의 Lambdas를 비동기 적으로 호출하고 로그 파일을 모니터링하여 완료된 후에 만 다음을 호출하는 횟수를 확인하는 것입니까?
또는...
람다 함수에 대해 동시 실행 제한 을 5로 설정 한 다음 함수를 200 번 (각 파일마다 하나씩) 부적절하게 호출 할 수 있습니까? 다음 람다는 완료되면 AWS가 자동으로 트리거합니까?