2017-12-14 19 views
0

소스에서 S3 버킷으로 파일을 가져옵니다. 텍스트 파일의 크기는 1 ~ 100MB입니다. 파일에서 몇 가지 내용을 추출하여 dynamoDB에 써야합니다. 지금까지 구현은 S3 버킷으로 들어오는 파일이 람다를 트리거하고, 파일을 처리하여이를 dynamoDB에 씁니다. 지금까지는 그렇게 좋았지 만 문제가 있습니다.S3 버킷과 dynamoDB간에 대용량 파일을 위해 Amazon Kinesis를 사용할 수 있습니까?

문제는 내가 S3로 들어오는 파일의 속도를 제어 할 수 없다는 것입니다. 특정 상황에서는 초당 수 초에서 수백 초까지 걸립니다. 두 가지 문제가 있습니다. 1) 많은 수의 람다가 발생합니다. 나는 N lambda라고 말하기를 원한다. N은 dynamoDB가 허용하는 최대 활성 연결에 해당한다.

이 경우 S3와 DynamoDB간에 Kinesis를 어떻게 사용할 수 있습니까? 아니면 좋은 해결책이 될 수 있을까요?

답변

0

나는 당신이 정말로 얼마나 빠른 아이템이 처리되는지를 제어 할 수 없으므로 키네 시스가 적합하지 않을 수도 있음을 알았다. 처리 속도를보다 정확하게 제어 할 수있는 또 다른 옵션은 SQS 일 수 있습니다. 모든 이벤트를 대기열에 넣고 대기열에서 읽는 람다를 몇 분마다 터지도록하십시오. 그러나 대기열에 이벤트가 없어 자원을 낭비하지 않으면 람다를 트리거 할 수도 있습니다.