使用针对目录存储桶的 S3 生命周期 - Amazon Simple Storage Service
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

使用针对目录存储桶的 S3 生命周期

S3 生命周期通过代表您删除已过期对象,助力您以更具成本效益的方式在目录存储桶中的 S3 Express One Zone 内存储对象。要管理对象的生命周期,请为目录存储桶创建 S3 生命周期配置。S3 生命周期配置 是一组规则,用于定义 Amazon S3 对一组对象应用的操作。您可以使用 Amazon 命令行界面(Amazon CLI)、Amazon SDK、Amazon S3 REST API 和 Amazon CloudFormation,在目录存储桶上设置 Amazon S3 生命周期配置。

在生命周期配置中,您可以使用规则来定义希望 Amazon S3 在对象上执行的操作。对于存储在目录存储桶中的对象,您可以创建生命周期规则,以便随着对象存在时间的增长而使其过期。您还可以创建生命周期规则,以每天一次的频率删除目录存储桶中未完成的分段上传。

当您向存储桶添加生命周期配置时,配置规则将应用到现有对象以及您在以后添加的对象。例如,如果您在今天添加带有过期操作的生命周期配置规则,而该规则使带有特定前缀的对象在创建 30 天后过期,S3 会将任何超过 30 天且具有指定前缀的现有对象加入移除队列。

目录存储桶的 S3 生命周期有何不同

对于目录存储桶中的对象,您可以创建生命周期规则,使对象过期并删除未完成的分段上传。但是,目录存储桶的 S3 生命周期不支持存储类之间的转换操作。

CreateSession

生命周期使用公共 DeleteObjectDeleteObjects API 操作来使目录存储桶中的对象过期。要使用这些 API 操作,S3 生命周期将使用 CreateSession API 建立临时安全凭证,以访问目录存储桶中的对象。有关更多信息,请参阅《Amazon S3 API Reference》中的 CreateSession

如果您具有拒绝向生命周期主体授予删除权限的有效策略,这将阻止您允许 S3 生命周期代表您删除对象。

使用存储桶策略向 S3 生命周期服务主体授予权限

以下存储桶策略授予允许使用默认 ReadWrite 会话进行 CreateSession 调用的权限,并允许生命周期服务主体。

例 – 允许通过默认 ReadWrite 会话执行 CreateSession 调用的存储桶策略
{ "Version":"2008-10-17", "Statement":[ { "Effect":"Allow", "Principal": { "Service":"lifecycle.s3.amazonaws.com" }, "Action":"s3express:CreateSession", "Condition": { "StringEquals": { "s3express:SessionMode": "ReadWrite" } }, "Resource":"arn:aws:s3express:us-east-2:412345678921:bucket/amzn-s3-demo-bucket--use2-az2--x-s3" } ] }

监控生命周期规则

对于存储在目录存储桶中的对象,S3 生命周期会生成 Amazon CloudTrail 管理和数据事件日志。有关更多信息,请参阅 S3 Express One Zone 的 CloudTrail 日志文件示例

有关创建生命周期配置以及排查 S3 生命周期相关问题的更多信息,请参阅以下主题: