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

S3桶文件夹下所有对象删除后触发器是否生效及空文件夹保留问题

S3 相关问题解答

1. 重新上传文件后Lambda触发器是否正常触发

可以正常触发。
S3本身是平面对象存储服务,不存在真实的文件夹层级,控制台展示的「文件夹」本质是对象Key的公共前缀的可视化呈现。你配置的Lambda S3触发器匹配的是上传对象的Key规则(一般为前缀ABC/ + 后缀sample-file.csv),和是否存在对应的可视化空文件夹没有关联。只要后续上传的对象Key为ABC/sample-file.csv,完全符合触发器的匹配规则,就会正常触发Lambda运行。

2. 保留空ABC文件夹的方法

可以通过创建0字节的前缀占位对象实现空文件夹保留,S3控制台创建文件夹的本质也是生成这类对象,具体操作有两种:

  • 控制台操作:直接进入对应存储桶,点击「创建文件夹」,输入名称ABC后保存即可,系统会自动生成Key为ABC/的0字节对象
  • 代码操作:通过boto3主动创建占位对象,代码如下:
boto3_session = boto3.client('s3')
boto3_session.put_object(Bucket=Bucketname, Key='ABC/', ContentLength=0)

创建完成后,只要你不删除这个ABC/占位对象,即使文件夹下所有的业务文件都被清理,控制台也会一直显示空的ABC文件夹,不会被自动移除。你现有的删除逻辑只针对ABC/sample-file.csv,不会影响该占位对象,无需修改原有删除代码。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 10:45:03