【问题标题】:AWS Lambda - Is there a way to pass parameters to a lambda function when an event occursAWS Lambda - 有没有办法在事件发生时将参数传递给 lambda 函数
【发布时间】:2016-06-10 19:08:27
【问题描述】:

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

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

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

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

谢谢...

【问题讨论】:

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


    【解决方案1】:

    为什么不将此参数(s3 路径)添加到您的 dynamodb 表中(在其中添加了新的原始数据 - 不是在另一个表中,而是在 lambda 正在侦听的同一个表中)

    【讨论】:

    • 我不想将 s3key 添加到每条记录中。
    【解决方案2】:

    您现在可以通过以下方式完成此操作:

    1. DynamoDB Stream 附加到您的 Dynamo 表以查看NEW_AND_OLD_IMAGES
    2. 在 lambda 函数上创建事件源以读取 DynamoDB 流
    3. 在您的 lambda 函数中添加一个 environment variable 以指示在 S3 中将数据写入的位置

    您仍然需要从记录本身获取记录存储位置的详细信息,但您可以在环境变量中指明存储桶或表名称。

    【讨论】:

      猜你喜欢
      • 2017-12-30
      • 1970-01-01
      • 2016-04-10
      • 2023-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-06-19
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多