aws s3api get-bucket-notification-configuration --bucket b
aws s3api put-object --bucket b --key uploads/test.jpg --body test.jpg

前端直传成功的图片能正常查看,缩略图目录一直是空的。函数日志里没有任何调用记录,桶的事件通知配置里前缀写的是 uploads//。先别急着动参数,把报错原文和时间点记下来,顺序反了容易白折腾。

原因不复杂,事件通知按对象 key 做前缀和后缀匹配,多一个斜杠就一条都不命中。直传的 key 是 uploads/2026/a.jpg,配置写成 uploads// 永远匹配不上。通知没触发时不会报错,只是静默不调用。

「直传事件通知」排查到最后往往是很小的一处差异,前面那些复杂猜测可以先放一放。改完隔一天再看一次,当场正常不代表能稳住。

测试环境和线上的差别,往往就在版本号和那几行被忽略的配置上。

处理上按这个顺序:前缀改成 uploads/ 只保留一个斜杠;后缀限定 .jpg 和 .png 减少无效调用;确认通知目标队列的权限允许桶写入;手工传一个对象 看函数日志是否立刻出现记录。

改完只确认一件事:手工上传后函数日志出现一条记录,缩略图目录里生成了对应文件。

作者 9823189