如何在首次手动上传S3文件后,每日触发S3事件通知调用Lambda?
可行,多种AWS方案可实现你的需求
方案一:AWS Glue 定时处理
完全可以用Glue实现,具体步骤:
- 创建Glue作业:在作业中直接指定读取首次上传到S3的目标文件路径,复用原Lambda中的数据处理逻辑(可直接迁移Lambda代码到Glue,或让Glue调用Lambda执行处理)。
- 创建定时触发器:选择「定时触发」类型,设置触发频率为每24小时,绑定上述Glue作业。
- 兼容原有逻辑:保留原S3 Event Notification触发Lambda的配置,叠加Glue定时任务即可,两者互不干扰。
方案二:Amazon EventBridge + Lambda(轻量方案)
无需迁移代码,直接扩展现有Lambda:
- 在EventBridge创建规则:规则类型选「计划」,使用调度表达式
rate(24 hours)设置每24小时执行一次。 - 配置目标:将现有Lambda设为规则目标,手动传入首次上传的S3文件固定路径作为参数。
- 修改Lambda逻辑:区分触发源——如果是EventBridge触发,直接使用传入的固定路径读取文件;如果是S3事件触发,仍按原有逻辑处理新上传文件。
关键注意事项
- 确保Lambda/Glue作业拥有目标S3文件的读取权限。
- 若需固定处理首次上传的文件版本,可开启S3版本控制,处理时指定对应版本ID;若需处理最新版本,直接读取路径即可。
内容的提问来源于stack exchange,提问作者YashVj
相关产品推荐
相关产品推荐

