AWS Lambda - 当事件发生时是否有一种方式可以向Lambda函数传递参数?

4
我有一个DynamoDB表格,每当添加新记录时,我想将旧数据存档到S3中。因此,我想使用AWS Lambda。Lambda函数将获取新添加/修改的记录。但我想向Lambda函数传递一个额外的参数,即要上传记录的S3路径。
一种方法是在另一个表格/S3中包含我想要传递给Lambda函数的任何内容。但是,随着每个记录插入主表,这个参数将会改变。因此,我无法从我的Lambda函数中读取它。(当第一个插入的记录执行Lambda函数时,可能已经插入了几条记录)
有没有办法向Lambda函数传递参数?
附注:我想异步执行Lambda。
谢谢...
2个回答

0

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

  1. DynamoDB Stream 附加到您的 Dynamo 表上,以查看 NEW_AND_OLD_IMAGES
  2. 在 Lambda 函数上创建事件源以读取 DynamoDB 流
  3. 向 Lambda 函数添加 环境变量,指示要将数据写入 S3 的位置

您仍然需要从记录本身中推导出存储记录的详细信息,但是您可以在环境变量中指定存储桶或表名。


0
为什么不将这个参数(S3路径)添加到您的DynamoDB表中(在新行被添加的地方 - 不是在另一个表中,而是在Lambda正在监听的同一张表中)?

我不想将s3key添加到每个记录中。 - Thiyagu

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接