You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何获取AWS Lambda触发器日志?排查S3触发器失效问题

排查S3触发Lambda函数失效的实用步骤

我完全理解你的困扰——明明之前运行正常,没改配置却突然触发失效,而且CloudWatch里连触发失败的日志都看不到,确实头疼。下面是几个针对性的排查方向,一步步来应该能找到原因:

  • 先确认S3是否真的发送了触发事件
    既然Lambda没启动,CloudWatch自然没函数日志,但我们可以通过CloudTrail追踪事件流:

    1. 打开CloudTrail控制台,筛选你目标S3桶所在区域的事件,查找对应.csv文件的s3:PutObject事件,确认上传操作确实被记录。
    2. 接着搜索lambda:InvokeFunction事件,检查目标是不是你的Lambda函数。如果找不到这个事件,说明S3根本没把触发请求发给Lambda;如果能找到,那问题可能出在Lambda的执行环节(但你说没改配置,这种情况概率低)。
  • 复查S3触发器的细节配置(别忽略隐性变化)
    哪怕你没主动改配置,也可能有一些容易忽略的点:

    • 确认后缀匹配是.csv,注意大小写敏感——如果最近上传的是.CSV格式的文件,S3的事件规则是不会匹配的。
    • 检查事件类型是否还是s3:ObjectCreated:*,有没有被误改成单一类型(比如只选了Put但上传用了其他创建方式?不过这个概率低)。
    • 确认S3桶和Lambda函数的区域一致——跨区域触发虽然支持,但偶尔会有网络或配置同步问题,之前正常不代表现在没问题。
    • 验证Lambda的资源策略是否允许S3触发:用AWS CLI执行aws lambda get-policy --function-name 你的函数名,查看返回的策略文档里,是否有允许s3.amazonaws.com从你的桶ARN发起lambda:InvokeFunction的权限。如果策略缺失或ARN错误,S3就无法触发Lambda。
  • 检查S3桶的事件通知规则状态
    登录S3控制台,进入目标桶的「属性」->「事件通知」,确认你创建的触发器规则仍然存在,并且状态是「启用」的。有时候可能因为控制台操作失误,规则被意外禁用或删除。

  • 排除特殊场景干扰

    • 测试上传一个非零字节的标准.csv文件——有些情况下,零字节文件可能不会触发S3的ObjectCreated事件。
    • 检查Lambda的并发限制:如果你的函数达到了账户并发上限或预留并发上限,新的触发请求会被拒绝,但这种情况CloudWatch通常会有相关日志,不过还是可以去Lambda控制台的「配置」->「并发」里确认。
  • 手动验证Lambda函数本身的可用性
    在Lambda控制台的「测试」选项中,选择「S3 PutObject」的测试模板,修改模板里的桶名和对象键为你实际的.csv文件信息,然后执行测试。如果函数能正常运行并生成日志,说明函数本身没问题,问题肯定出在S3到Lambda的触发链路。

按照这个顺序排查,应该能定位到触发失效的原因。

内容的提问来源于stack exchange,提问作者MrBossio

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.04 17:40:18