本页面显示了对象生命周期管理的示例配置。在存储桶上设置生命周期配置时,存储桶中当前和未来的对象都满足您定义的条件,并且具有指定的操作。
删除旧对象版本
以下生命周期配置定义了两个规则。请注意,只有在存储桶上使用对象版本控制时,这些规则才适用:
如果存储桶中有 2 个较新版本的对象,请删除对象的非当前版本。受此规则约束的对象将被永久删除并且无法恢复。
删除以非当前版本状态保留 7 天的非当前版本对象。受此规则约束的对象将被永久删除并且无法恢复。
在使用对象版本控制的存储桶中,这两种规则的组合效果是,活跃对象具有时间范围,如果这些对象被覆盖或被删除,则可以在该时间范围内进行恢复:此类对象会在存储桶中以非当前版本状态保留七天,或者保留到存储桶中有 2 个较新版本的对象为止。
控制台
这里的设置遵循了设置配置部分中的说明。
如需在已有较新版本的情况下删除非当前版本对象,请执行以下操作:
- 选择删除对象操作。
- 选择有效状态条件,然后选择非当前单选按钮。
- 选择较新版本的数量条件,然后输入值 2。
如需删除以非当前版本状态保留 7 天的非当前版本对象,请执行以下操作:
- 选择删除对象操作。
- 选择变为非当前版本后的天数条件,然后输入值 7。
命令行
通过启用生命周期管理,可以将以下生命周期配置应用于存储桶。
{ "lifecycle": { "rule": [ { "action": {"type": "Delete"}, "condition": { "numNewerVersions": 2, "isLive": false } }, { "action": {"type": "Delete"}, "condition": { "daysSinceNoncurrentTime": 7 } } ] } }
如需了解生命周期配置文件的通用格式,请参阅适用于 JSON 的存储桶资源表示法。
REST API
JSON API
通过启用生命周期管理,可以将以下生命周期配置应用于存储桶。
{ "lifecycle": { "rule": [ { "action": {"type": "Delete"}, "condition": { "numNewerVersions": 2, "isLive": false } }, { "action": {"type": "Delete"}, "condition": { "daysSinceNoncurrentTime": 7 } } ] } }
如需了解生命周期配置文件的通用格式,请参阅适用于 JSON 的存储桶资源表示法。
XML API
通过启用生命周期管理,可以将以下生命周期配置应用于存储桶。
<?xml version="1.0" encoding="UTF-8" ?> <LifecycleConfiguration> <Rule> <Action> <Delete/> </Action> <Condition> <IsLive>false</IsLive> <NumberOfNewerVersions>2</Age> </Condition> </Rule> <Rule> <Action> <Delete/> </Action> <Condition> <DaysSinceNoncurrentTime>7</DaysSinceNoncurrentTime> </Condition> </Rule> </LifecycleConfiguration>
如需了解生命周期配置文件的通用格式,请参阅适用于 XML 的生命周期配置格式。
配置修改
根据您的目标,您可以对此示例配置进行多项修改:
如果您希望活动对象的生命周期有限,请额外创建一个规则,该规则使用
Delete
操作、设置为true
的isLive
条件,以及age
条件。如果要保护数据免遭意外删除而非意外覆盖,请将较新版本的数量设置为 1,这样做也可以缩减存储费用,因为您可以保留较少的对象版本。
- 如果您的数据以 Nearline Storage、Coldline Storage 或 Archive Storage 形式存储,请添加
age
条件或使用更大的daysSinceNoncurrent
值以避免支付提前删除费用。请注意,即使发生此类更改,您也可能要支付提前删除费用,具体取决于您覆盖和删除对象的频率。
更改对象的存储类别
以下生命周期配置定义了两条规则:
- 如果对象的存在时间超过 365 天(一年)且其当前存储类别为 Standard Storage,其名称以
.jpg
或.png
结尾,则将该对象的存储类别更改为 Nearline Storage。 - 如果对象的存在时间超过 1095 天(三年)且其当前存储类别为 Nearline Storage,其名称以
.jpg
或.png
结尾,则将该对象的存储类别更改为 Coldline Storage。
控制台
这里的设置遵循了设置配置部分中的说明。
如需在对象创建 365 天后将对象移动到 Nearline Storage,请执行以下操作:
- 选择将存储类别设置为 Nearline 操作。
- 选择对象名称与后缀匹配规则范围。
- 在显示的字段中输入 .jpg,并按 Enter 键。然后输入 .png,并再次按 Enter 键。
- 选择存在时间条件,然后输入值 365。
- 选择存储类别符合条件,然后选择 Standard 选项。
如需在对象创建 1095 天后将对象移动到 Coldline Storage,请执行以下操作:
- 选择将存储类别设置为 Coldline 操作。
- 选择对象名称与后缀匹配规则范围。
- 在显示的字段中输入 .jpg,并按 Enter 键。然后输入 .png,并再次按 Enter 键。
- 选择存在时间条件,然后输入值 1095。
- 选择存储类别符合条件,然后选择 Nearline 选项。
命令行
通过启用生命周期管理,可以将以下生命周期配置应用于存储桶。
{ "lifecycle": { "rule": [ { "action": { "type": "SetStorageClass", "storageClass": "NEARLINE" }, "condition": { "age": 365, "matchesStorageClass": [ "STANDARD" ], "matchesSuffix": [ ".jpg", ".png" ] } }, { "action": { "type": "SetStorageClass", "storageClass": "COLDLINE" }, "condition": { "age": 1095, "matchesStorageClass": [ "NEARLINE" ], "matchesSuffix": [ ".jpg", ".png" ] } } ] } }
如需了解生命周期配置文件的通用格式,请参阅适用于 JSON 的存储桶资源表示法。
REST API
JSON API
通过启用生命周期管理,可以将以下生命周期配置应用于存储桶。
{ "lifecycle": { "rule": [ { "action": { "type": "SetStorageClass", "storageClass": "NEARLINE" }, "condition": { "age": 365, "matchesStorageClass": [ "STANDARD" ], "matchesSuffix": [ ".jpg", ".png" ] } }, { "action": { "type": "SetStorageClass", "storageClass": "COLDLINE" }, "condition": { "age": 1095, "matchesStorageClass": [ "NEARLINE" ], "matchesSuffix": [ ".jpg", ".png" ] } } ] } }
如需了解生命周期配置文件的通用格式,请参阅适用于 JSON 的存储桶资源表示法。
XML API
通过启用生命周期管理,可以将以下生命周期配置应用于存储桶。
<?xml version="1.0" encoding="UTF-8" ?> <LifecycleConfiguration> <Rule> <Action> <SetStorageClass>NEARLINE</SetStorageClass> </Action> <Condition> <Age>365</Age> <MatchesStorageClass>STANDARD</MatchesStorageClass> <MatchesSuffix>.jpg</MatchesSuffix> <MatchesSuffix>.png</MatchesSuffix> </Condition> </Rule> <Rule> <Action> <SetStorageClass>COLDLINE</SetStorageClass> </Action> <Condition> <Age>1095</Age> <MatchesStorageClass>NEARLINE</MatchesStorageClass> <MatchesSuffix>.jpg</MatchesSuffix> <MatchesSuffix>.png</MatchesSuffix> </Condition> </Rule> </LifecycleConfiguration>
如需了解生命周期配置文件的通用格式,请参阅适用于 XML 的生命周期配置格式。
移除生命周期配置
在存储桶上设置以后,以下生命周期配置会通过移除所有规则来停用生命周期管理:
控制台
- 在 Google Cloud 控制台中,进入 Cloud Storage 存储桶页面。
在存储桶列表中,点击要移除其生命周期规则的存储桶的名称。
点击Lifecycle标签页。
点击全部删除,或点击与要删除的规则关联的垃圾桶图标来删除个别规则。
命令行
使用带有 --clear-lifecycle
标志的 gcloud storage buckets update
命令:
gcloud storage buckets update gs://BUCKET_NAME --clear-lifecycle
其中 BUCKET_NAME 是您要移除其生命周期配置的存储桶的名称。
REST API
JSON API
{ "lifecycle": { "rule": [] } }
如需了解生命周期配置文件的通用格式,请参阅适用于 JSON 的存储桶资源表示法。
XML API
<?xml version="1.0" encoding="UTF-8" ?> <LifecycleConfiguration/>
如需了解生命周期配置文件的通用格式,请参阅适用于 XML 的生命周期配置格式。
后续步骤
- 详细了解对象生命周期管理,包括可用的生命周期操作和生命周期条件。
- 在存储桶上设置和查看生命周期配置。