【发布时间】:2025-11-23 12:55:01
【问题描述】:
我正在尝试使用 dynamo db 和 lambda,但遇到以下流程的问题:
Lambda A 由 put to S3 事件触发。它获取对象(一个音频文件),计算其持续时间并在 dynamoDB 中为每 30 秒的片段写入一条记录。
Lambda B 由 dynamoDB 触发,从 S3 下载文件并对 dynamo 行中定义的 30 秒记录进行操作。
我的麻烦是,当我运行这个流程时,函数 A 通过函数 B 写入发电机所需的所有行
- 似乎没有为发电机中的每一行触发
- 5 分钟后超时。
配置
- 函数 B 设置了最高内存和 5 分钟到期
- 触发器设置为批量大小为 1,起始位置最新
我已经确认的事情
- 当函数 B 被触发时,从 S3 下载的速度很快。这似乎不是障碍
- 当我使用测试事件触发函数 B 时,它会完美执行。
- 当我查看 cloudwatch 指标时,函数 B 的调用错误率接近 100%。我不知道这是否意味着他的函数被调用并出现错误或根本无法调用。
有没有人遇到过类似的问题?知道接下来要检查什么吗? 谢谢
【问题讨论】:
-
因此,与此同时,我通过向 Sns 发布消息并以这种方式触发 lambda 来解决我的问题。完美地工作。如果有人有想法,我想知道为什么发电机触发器没有做我想做的事情。
-
您正在计时的事实意味着您的函数正在被调用,但被卡在某个地方。问题似乎不是发电机触发器,而是您的功能本身。尝试实现一些详细的日志记录以准确找到您的函数挂起的位置。您可以在问题中包含您的来源吗?会更容易提供帮助
-
我遇到了同样的情况,发电机有时会触发,但这是不可预测的。即使我尝试使用 AWS Dynamo Lambda 示例,也没有任何变化,仍然不缺乏。
标签: amazon-web-services amazon-dynamodb aws-lambda