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

使用S3预签名URL上传文件时AWS Lambda触发器无法触发问题

问题排查与解决方案

首先明确结论:该场景不需要为Lambda配置额外更高权限,问题根源并非Lambda侧权限不足,而是S3事件通知的触发规则不匹配,按以下优先级排查即可:

  • 核对S3事件通知的触发事件类型
    手动上传文件默认触发s3:ObjectCreated:Put类型的事件,很多用户配置触发器时只会选中该事件类型。但如果通过预签名URL上传时使用了分片上传(Multipart Upload,大文件上传的常用方案),分片上传完成后触发的是s3:ObjectCreated:CompleteMultipartUpload事件,不在你配置的触发范围内自然不会调用Lambda。
    通用解决方案是直接将触发事件设置为All object create events,可以覆盖Put、Post、Copy、CompleteMultipartUpload四类所有对象创建场景。
  • 检查S3事件通知的过滤规则
    如果你为触发器配置了前缀/后缀过滤规则(例如仅触发images/路径下的文件、仅触发.jpg后缀的文件),请确认通过预签名URL上传的文件的Key完全匹配过滤规则。如果预签名URL生成时指定的Key不符合过滤规则,文件上传成功也不会触发事件。
  • 排查S3存储桶的事件拦截配置
    如果你开启了S3存储桶的访问控制规则、事件排除规则,或者生成预签名URL时为对象指定了特殊的标签/ACL,刚好命中事件拦截规则,也会导致事件不会下发到Lambda触发器。

如果以上排查后仍未解决问题,可以开启S3存储桶的EventBridge集成,在EventBridge的事件日志中查看预签名URL上传时是否生成了对应的S3事件,再进一步核对触发器的匹配逻辑。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 11:15:07