【问题标题】:delete files from a particular folder automatically in aws s3 bucket在 aws s3 存储桶中自动从特定文件夹中删除文件
【发布时间】:2021-01-26 22:42:59
【问题描述】:
我想从 s3 存储桶中删除文件。在test 存储桶内,有一个名为mi 的文件夹,在mi archive 内。
我在test 存储桶上配置了life cycle rule 以在7 天后从test/mi/archive/abc.txt 中删除文件abc.txt。我只想删除 abc.txt 但它会删除完整的 archive 文件夹,而不仅仅是文件。
在 test 存储桶上应用规则时,我给出了前缀 mi/archive/。
【问题讨论】:
标签:
amazon-web-services
amazon-s3
【解决方案1】:
S3 没有文件夹,只有对象键前缀。如果前缀中没有带有mi/archive 的对象,则不会出现该“文件夹”。
这真的不应该是一个问题。下次您在键中上传带有mi/archive 前缀的对象时,“文件夹”将再次出现。
【解决方案2】:
生命周期仅适用于整个文件夹/存储桶。你最好/最便宜的赌注可能是一个预定的 lambda 来检查文件,它的创建日期,并在必要时删除。
【解决方案3】:
感谢大家的建议......
最后,我找到了解决方案。我在前缀中做了一些更改。在 "mi/archive" 的位置,我给了文件以字母开头,因为我的所有文件都以 "cd" 开头。假设有一个名为 "cd_abcd.txt" 的文件。所以在 "test" 存储桶上配置规则时,我放了前缀 "mi/archive/cd"。所以 7 天 后,只会删除文件而不是完整的 "archive" 文件夹。