我创建了 Amazon Simple Storage Service (Amazon S3) 生命周期配置规则,并想解决未转换或到期的对象的问题。
简短描述
Amazon S3 生命周期对象转换和对象到期为异步操作。从 Amazon S3 应用 S3 生命周期规则到该规则的操作完成之间会有一段延迟。有关详细信息,请参阅为什么即使我在超过一天前应用了 Amazon S3 存储桶的生命周期规则,它仍然不起作用?
要设置 S3 生命周期配置规则,请参阅如何设置 S3 生命周期配置。
解决方法
要解决此问题,请检查 S3 生命周期配置规则中的以下设置。
S3 生命周期配置规则前缀和通配符
如果您使用前缀,请确保您在筛选器中输入的路径与 Amazon S3 存储桶中的前缀路径相匹配。
区分大小写的结构
S3 生命周期配置规则区分大小写,并作用于您输入的字符串。但是,当在您的 S3 存储桶中找不到匹配的路径时,该规则不起作用。
例如,如果在您的 S3 生命周期规则中,您的存储桶中的前缀为 <Prefix>sales1999/</Prefix> ,而您指定了 <Prefix>Sales1999/</Prefix> ,则该规则不会生效。必须在前缀筛选器中使用小写的“s”才能使规则生效。
前导斜杠
仅当您的存储桶前缀在其前缀结构中使用前导斜杠时,才在前缀筛选器中添加前导斜杠。
如果您在您的 S3 生命周期规则中指定了 <Prefix>/sales1999/</Prefix> ,并且存储桶中的前缀为 <Prefix>sales1999/</Prefix>,则该规则不生效。有关详细信息,请参阅如何在生命周期规则中包含多个前缀?
通配符
您无法在 S3 生命周期配置规则前缀中使用通配符“*”。如果您的前缀以相同字符开头,则可以在规则中包含所有前缀。为此,请在筛选器中指定不带尾部斜杠 (/) 的部分前缀。有关详细信息,请参阅使用对象键名筛选配置事件通知。
S3 生命周期支持的对象转换
Amazon S3 将对象与不同的存储类层关联起来,并在瀑布模型中定义对象。只能在瀑布模型中向下转换对象,不能向上转换对象。例如,您可以将对象从 S3 标准类转换为 S3 标准 IA 类。但是,您无法将对象从 S3 标准 IA 类转换为 S3 标准类。
您无法转换在 2024 年 9 月之后创建的小于 128 KB 的对象。但是,您可以添加最小大小 ObjectSizeGreaterThan 或最大大小 ObjectSizeLessThan 筛选器,为配置指定较小的大小。有关详细信息,请参阅示例: 允许转换小于 128 KB 的对象。
**注意:**您可以将在 2024 年 9 月之前创建且小于 128 KB 的未经修改的 S3 对象配置转换为 S3 Glacier 和 S3 Glacier Deep Archive。最佳做法是添加筛选器,为配置指定较小的大小,以避免转换成本。
您无法将存储少于 30 天的对象转换为 S3 标准 IA 或 S3 单区 IA 存储类。您无法将任何对象转换为低冗余存储 (RRS)。您也无法转换任何处于 Pending(待处理)复制状态的版本控制对象。
相关信息
如何为非当前对象版本创建 Amazon S3 生命周期配置规则?
如何使用生命周期配置规则清空 Amazon S3 存储桶?
如何验证用于清理未完成的分段上传的 Amazon S3 生命周期配置规则?
比较 Amazon S3 存储类