对象生命周期管理

设置对象生命周期管理 配置示例

为了支持常见使用场景(例如为对象设置存留时间 (TTL)、保留对象的非当前版本或“降级”对象的存储类别以帮助管理费用),Cloud Storage 提供了对象生命周期管理功能。

本页面介绍了此功能,以及使用此功能时可用的选项。如需了解生命周期配置文件的通用格式,请参阅适用于 JSON 的存储桶资源表示法适用于 XML 的生命周期配置格式

简介

为了使用对象生命周期管理,您需要定义生命周期配置,该配置必须在存储桶上设置。该配置包含一组适用于存储桶中的当前和未来对象的规则。当对象满足其中一个规则的条件时,Cloud Storage 会自动对该对象执行指定的操作。以下是一些示例用例:

  • 将超过 365 天的对象的存储类别降级为 Coldline Storage。
  • 删除 2019 年 1 月 1 日之前创建的对象。
  • 在启用版本控制的存储桶中仅保留每个对象的 3 个最新版本。

生命周期配置

每个生命周期管理配置都包含一组规则。每条规则都包含一个操作以及一个或多个条件

  • 对象必须与规则中指定的所有条件都匹配,系统才会执行规则中的操作。

  • 如果您指定包含相同操作的多个规则,则在对象与任何规则中的条件匹配时,系统会对该对象执行此操作。

  • 如果多个规则同时满足单个对象的条件,则 Cloud Storage 将基于以下考虑,仅执行与其中一个规则关联的操作:

    • Delete 操作优先于任何 SetStorageClass 操作。
    • 将对象切换至静态存储价格最低的存储类别的 SetStorageClass 操作优先。

    例如,如果您有一条规则会将对象的类别更改为 Nearline Storage,而另一条规则会将对象的类别更改为 Coldline Storage,但两条规则都使用完全相同的条件,则在满足条件时,对象的类别会始终更改为 Coldline Storage。

  • 您应先对开发数据测试生命周期规则,然后再将这些规则应用于生产环境,以确保规则不会在非预期的条件集下执行操作。如果无法做到这一点,您应该使用规则中的 matchesPrefixmatchesSuffix 条件测试一小部分生产数据。

  • 对存储桶生命周期配置的更改可能需要长达 24 小时才能生效,在此期间,对象生命周期管理可能仍会根据旧配置执行操作。

    例如,如果将 age 条件从 10 天更改为 20 天,则对象生命周期管理可能会由于旧配置的条件在之后最长 24 小时的时间里删除存在时间为 11 天的对象。

如需查看用例,请参阅对象生命周期管理的配置示例

生命周期操作

生命周期规则仅指定以下操作之一:

删除

当某对象满足生命周期规则中指定的所有条件时,Delete 操作会删除该对象。 默认情况下,删除某个现行对象后,它会被软删除,Cloud Storage 会将其保留七天。您可以在软删除保留时长内恢复该软删除的对象。

例外情况:在启用了对象版本控制的存储桶中,删除对象的现行版本会使该版本成为非当前版本,而删除非当前版本会将该版本从存储桶中删除。如需查看有关使用 Delete 操作以及对象版本控制的示例,请参阅用于删除对象的配置

Delete 操作在对对象设置了对象保全或尚未符合保留政策时不会对该对象生效。只要对象一直满足 Delete 操作中的条件,Delete 操作就会在移除任何对象保全且符合任何保留政策后发生。