2017-12-14 3 views
0

ソースからS3バケットにファイルを取得します。テキストファイルのサイズは1〜100MBです。私はファイルからいくつかのものを抽出し、それらをdynamoDBに書き込む必要があります。これまでの実装では、S3バケットに入ってくるファイルがラムダをトリガし、ファイルを処理してdynamoDBに書き込みます。これまでのところ良いですが、問題があります。S3バケットとdynamoDB間の大きなファイルにAmazon Kinesisを使用できますか?

問題は、私はS3に入ってくるファイルの速度を制御できないということです。一定の状況下では、数秒から数百秒に及ぶ。 2つの問題があります:1)多数のラムダが引き起こされます。私はそれをN lambdaと言うように制限したい。ここで、NはdynamoDBによって許可された最大アクティブな接続に対応する。

この場合、S3とDynamoDBの間に何らかの形でKinesisを使用できますか?あるいは、良い解決策は何でしょうか?

答えて

0

私は、あなたが本当に速いアイテムが処理されるかを実際に制御することができないので、キネシスが適切でないかもしれないことがわかります。もう1つの選択肢として、処理速度をより正確に制御できるものがSQSかもしれません。すべてのイベントをキューに入れ、キューから読み込む数分ごとにラムダをトリガーします。ただし、イベントがキューにないときにラムダをトリガーして、リソースを無駄にする可能性があることに注意してください。

関連する問題