DynamoDB 不触发 lambda

Tal*_*rry 5 amazon-web-services amazon-dynamodb aws-lambda

我正在试验 dynamo db 和 lambda,但在以下流程中遇到了问题:

Lambda A 由放置到 S3 事件触发。它获取对象,一个音频文件,计算其持续时间并在 dynamoDB 中每 30 秒写入一条记录。

Lambda B 由 dynamoDB 触发,从 S3 下载文件并对 dynamo 行中定义的 30 秒记录进行操作。

我的问题是,当我运行这个流程时,函数 A 通过函数 B 写入发电机所需的所有行

  • 似乎没有为发电机中的每一行触发
  • 5 分钟后超时。

配置

  • 功能B设置最高内存和5分钟过期
  • 触发器设置为批量大小为 1 且起始位置最新

我已经确认的事情

  • 当函数 B 被触发时,从 S3 的下载发生得很快。这似乎不是拦截器
  • 当我用测试事件触发函数 B 时,它执行得很好。
  • 当我查看 cloudwatch 指标时,函数 B 的调用错误率接近 100%。我不知道这是否意味着他的函数被调用并出现错误或根本无法调用。

有没有人遇到过类似的问题?知道接下来要检查什么吗?谢谢

Zol*_*csi 5

我遇到了同样的问题,解决方案是从 Lambda创建一个版本$LATEST,而不是使用该版本,而是使用“固定”版本。

不可能使用最新的不断变化的版本来构建触发器。

执行此操作的位置:Lambda / Functions / YourLambdaName / Qualifiers 页面上的下拉菜单 / Switch versions/aliases / Version Tab -> 检查您是否有版本

如果不是 -> 操作/发布新版本

  • 我有许多 dynamodb 流会用 LATEST 触发 lambda,但我没有遇到这个问题。只有当 dynamodb 更新导致数据没有更改时,才会触发 lambda。 (2认同)

小智 1

检查DynamoDB“Stream”是否在表上启用。

结账这个

lambda 的默认超时时间是 5 分钟,您可以在论坛中找到这一点。