AWS Lambda - 有没有办法在事件发生时将参数传递给lambda函数

时间:2016-02-27 14:19:51

标签: amazon-s3 amazon-dynamodb aws-lambda amazon-dynamodb-streams

我有一个DynamoDB表,每当添加新记录时,我都希望将旧数据存档到S3。所以我认为我可以使用AWS Lambda。因此lambda函数将获得新添加/修改的新记录。但我想传递(到lambda函数)s3路径的附加参数,该记录必须上传到该路径。

一种方法是让我想要传递给另一个表/ s3中的lamda函数。但是这个(参数)会随着每个记录插入主表而改变。所以我无法从我的lambda函数中读到这个。 (当为第一个插入的记录执行lambda函数时,将插入更多的记录)

有没有办法将params传递给lambda函数?

P.S:我想异步执行lambda。

...谢谢

2 个答案:

答案 0 :(得分:0)

为什么不将这些参数(s3路径)添加到你的dynamodb表(添加新原始的地方 - 不在另一个表中,而是在lambda正在监听的同一个表中)

答案 1 :(得分:0)

您现在可以通过以下方式实现此目的:

  1. DynamoDB Stream附加到您的Dynamo表,其视图为NEW_AND_OLD_IMAGES
  2. 在lambda函数上创建事件源以读取DynamoDB流
  3. 在lambda函数中添加environment variable以指示在S3中将数据写入的位置
  4. 您仍然需要从记录本身派生记录存储位置的详细信息,但您可以在环境变量中指明存储桶或表名称。