2017-06-12 3 views
1

私はSNSからAWS Lambda関数へのメッセージを受け取りました。このラムダ関数では、メッセージを変換してからDynamo Dbにプッシュします。しかし、それを直接Dynamo Dbにプッシュすると、Dynamo Dbが抑制されることがあります。だから、私は到着したリクエストをバッチし、それをDynamo Dbにプッシュしたかったのです。私が知る限り、ステートレスであるためAWS Lambdaではバッチ処理を行うことはできません。だから、AWS Lambdaの後に私はバッチリクエストをすることができますか? AWS Lambda自体で何らかの方法で対応できるのか?私はどうなるリクエストをバッチ処理するために使用できるAWSコンポーネントは何ですか?

答えて

2

一つの方法は次のとおりです。

  • SNS - >ラムダ - > SQS
  • OnDemandのラムダ(SQS - > DynamoDBの)

SQSはラムダをトリガすることはできませんので、スケジュールラムダ定期的にSQSから読み込んでDynamoDBにプッシュします。

+1

またはわずかなバリエーション:LambdaはDynamoDBにプッシュしますが、帯域幅調整のために拒否された場合は、後で(時間がかかる)処理のためにSQSに入れます。このように、DynamoDBのスループットは、*ピーク*スループットではなく、平均スループットに基づくことができます。 –

関連する問題