S3生命周期规则完成对象删除后触发Lambda函数的实现方案咨询
S3生命周期删除触发Lambda方案解答
1. 能否直接从S3生命周期规则绑定Lambda调用
不可以。S3生命周期规则的内置动作仅支持存储类转换、对象过期删除、清理不完整多部分上传、删除过期删除标记等存储管理操作,本身没有提供直接触发Lambda函数的配置入口。
2. 实现需求的服务组合及操作步骤
你需要搭配Amazon EventBridge和Lambda两个服务即可实现需求,操作逻辑如下:
- 进入目标S3存储桶的「属性」配置页,开启EventBridge事件通知功能
- 在Amazon EventBridge控制台创建新规则,事件源选择AWS服务,匹配S3的
Object Deleted事件类型,可通过如下事件模式精准过滤仅由生命周期规则触发的删除动作:
{ "source": ["aws.s3"], "detail-type": ["Object Deleted"], "detail": { "bucket": { "name": ["<你的存储桶实际名称>"] }, "deletionType": ["LifecycleExpiration"] } }
- 将该EventBridge规则的触发目标设置为你需要调用的Lambda函数,完成配置即可。
3. S3 On Outputs功能是否可用
你提到的EventBridge服务选项中的S3 On Outputs属于S3与EventBridge的官方集成能力,就是上述方案中用到的S3事件上报能力,完全可以用来实现该需求,按上述步骤配置即可。
内容的提问来源于stack exchange,提问作者isaura almar
相关产品推荐
相关产品推荐

