4

DynamoDB テーブルがあり、新しいレコードが追加されるたびに、古いデータを S3 にアーカイブしたいと考えています。そこで、AWS Lambda を利用できると考えました。したがって、ラムダ関数は、新しく追加/変更された新しいレコードを取得します。しかし、レコードをアップロードする必要があるs3パスの追加パラメーターを(ラムダ関数に)渡したいです。

1 つの方法は、ラムダ関数に渡したいものを別のテーブル/s3 に置くことです。ただし、これ (パラメーター) は、各レコードがメイン テーブルに挿入されるたびに変化します。したがって、ラムダ関数からこれを読み取ることはできません。(最初に挿入されたレコードに対してラムダ関数が実行されるまでに、さらにいくつかのレコードが挿入されます)

パラメータをラムダ関数に渡す方法はありますか?

PS:ラムダを非同期で実行したい。

ありがとう...

4

2 に答える 2

0

次の方法でこれを実現できます。

  1. DynamoDB ストリームを Dynamo テーブルにアタッチして、NEW_AND_OLD_IMAGES
  2. DynamoDB ストリームを読み取るためのラムダ関数でのイベント ソースの作成
  3. 環境変数をラムダ関数に追加して、S3 のどこにデータを書き込むかを示します

レコード自体からレコードを保存する場所の詳細を導出する必要がありますが、環境変数でバケットまたはテーブル名を指定できます。

于 2016-12-14T05:05:17.247 に答える