我知道如何使用给定特定前缀的对象到期规则使S3存储桶中的对象到期,但是出于我的目的,我想以编程方式在每个对象的基础上设置到期日期.
Java SDK似乎表明这是可能的,因为它有一个setExpirationTime方法,但是每当我使用这个方法设置一个到期日期时,似乎什么也没发生,对象永远不会过期.此外,通过aws控制台查看对象属性,似乎没有设置过期.
是否不支持每个文件到期?/我需要做些额外的步骤才能让它发挥作用吗?/如果不支持每个文件到期,是否可以排除与过期前缀匹配的文件过期?
提前致谢!
我希望这个问题不是太简陋,但我很困惑......
在S3文档中我读到:
所有HTTP查询都有一个到期参数,允许您设置查询有效的时间.例如,您可以将网页图形配置为在很长一段时间后过期,或者软件下载仅持续24小时.
对于可公开访问的数据对象(文件),这是否意味着数据对象(文件)本身将不再有效,或者浏览器将在到期日期之后简单地重新缓存对象.如果我将期限设置得那么久,我将在十年后失去我的数据吗?或者,如果我设置了24小时的下载,它是否已经过去/无法访问?
如果我没有设置到期日怎么办?
我阅读了很多关于如何过期(删除)亚马逊 S3 对象并尝试设置生命周期规则来做到这一点,但是对象没有被删除,想知道我做错了什么。
我在 S3 上有这样组织的对象:
Amazon S3 > my-test-bucket > my-test-org > a.csv,
b.xml,
c.xsl...
Run Code Online (Sandbox Code Playgroud)
如果它们是 365 天,我需要删除 my-test-bucket 中的所有文件。那里有很多文件已经超过 2 年了,所以按照这个规则,这些文件应该被删除。
在生命周期规则中,我指定添加过滤器来限制范围 my-test-bucket,在“到期”部分,我选择了“当前版本”和“以前版本”,
my-test-bucket 未启用版本控制。
完成所有这些后,我一直在等待和等待,但什么也没发生。那些旧文件还在。我的问题是:
谢谢