Amazon s3 AmazonS3对象过期
我读了很多关于如何使AmazonS3对象过期(删除)的文章,并试图设置生命周期规则来实现这一点,但是这些对象并没有被删除,我想知道我做错了什么 S3上的对象组织如下:Amazon s3 AmazonS3对象过期,amazon-s3,Amazon S3,我读了很多关于如何使AmazonS3对象过期(删除)的文章,并试图设置生命周期规则来实现这一点,但是这些对象并没有被删除,我想知道我做错了什么 S3上的对象组织如下: Amazon S3 > my-test-bucket > my-test-org > a.csv, b.xml, c.xsl... 如果
Amazon S3 > my-test-bucket > my-test-org > a.csv,
b.xml,
c.xsl...
如果这些文件已经有365天了,我需要删除测试桶中的所有文件。那里有很多超过2年的文件,所以根据这个规则,这些文件应该被删除
在生命周期规则中,我指定添加筛选器来限制我的测试桶的范围,在“过期”部分,我选择了“当前版本”和“以前的版本”
- 对象创建365天后过期对象的当前版本
- 在成为以前的版本365天后永久删除以前的版本
- 该规则适用于前缀“我的测试桶”
my test org/
。尾随斜杠很重要,因为没有它,您的规则还将匹配其他键前缀,如my test organization
和my test organization
,这可能导致意外匹配
请记住,S3中并没有真正的文件夹。对象键是字符串,由/
分隔以表示文件夹层次结构,但文件夹实际上不是容器。文件夹“bar”中出现的文件“foo.txt”实际上有一个对象键“bar/foo.txt”
伪代码中的前缀匹配为
if(left(object_key, len(prefix)) == prefix) { # rule matches
将规则更改为使用此前缀,如果超过365天,则将删除每个密钥以my test org/
开头的对象。当然,这包括所有子目录
规则测试似乎在UTC午夜左右开始,而实际的清除则在午夜之后开始