通过标头进行 Amazon S3 对象生命周期管理

Posted

技术标签:

【中文标题】通过标头进行 Amazon S3 对象生命周期管理【英文标题】:Amazon S3 Object Lifecycle Management via header 【发布时间】:2017-11-21 19:27:53 【问题描述】:

我一直在寻找这个问题的答案很长一段时间,但显然我错过了一些东西。

我大量使用 s3cmd 通过脚本自动将文档上传到 AWS S3。可以在 s3cmd 中使用的参数之一是--add-header,我假设它允许添加生命周期规则。

我的目标是添加此参数并为上传指定 +X(其中 X 是天)。如果出现... --add-header=...1 ...,生命周期规则将在 24 小时后删除此文件。

我知道这可以通过控制台轻松完成,但我希望对单个文件/脚本进行更详细的控制。

我已经阅读了可以通过 s3cmd 传递给 S3 的参数,但是我不知如何将所有这些参数放在一起以获得预期的结果。

非常感谢您的任何帮助或帮助!

【问题讨论】:

【参考方案1】:

S3 API 本身不支持任何在对象级别触发生命周期管理的请求标头。

s3cmd 的 --add-header 选项可以添加 S3 可以理解的标头,例如 Content-Type,但没有可以使用任何工具发送的生命周期标头。

你可能会这样想:

如果您对已计划到期的对象发出 GETHEAD 请求,则响应将包含一个 x-amz-expiration 标头,其中包含此到期日期和相应的规则 ID

https://aws.amazon.com/blogs/aws/amazon-s3-object-expiration/

这是一个响应头,并且是只读的。

【讨论】:

以上是关于通过标头进行 Amazon S3 对象生命周期管理的主要内容,如果未能解决你的问题,请参考以下文章

我可以一次为 Amazon S3 存储桶中的所有对象设置 expires 标头吗?

生命周期管理是否删除了s3前缀?

关于ceph rgw storage_class 的使用研究(amazon S3 智能分层 )

Amazon S3 存储桶中缺少 Access-Control-Allow-Origin 标头

Amazon S3

Amazon S3 - 不存在“Access-Control-Allow-Origin”标头