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