本頁面顯示物件生命週期管理的設定範例。 設定 bucket 的生命週期後,系統會對 bucket 中符合條件的現有和未來物件,執行指定的動作。
刪除舊版物件
以下生命週期設定定義兩個規則。請注意,只有在 bucket 使用物件版本管理時,這些規則才適用:
如果 bucket 中有 2 個較新版本的物件,則刪除非現行版本的物件。受這項規則約束的物件會永久刪除,無法復原。
在物件非現行 7 天後,刪除物件的非現行版本。適用這項規則的物件會永久刪除,無法復原。
如果值區使用物件版本管理功能,這兩項規則的綜合效果是:如果物件遭到覆寫或刪除,使用中物件會有時間視窗,可供復原。這類物件會以非現行狀態保留在值區中七天,或直到值區中出現 2 個較新的物件版本為止。
控制台
這些設定會使用「設定設定」一節中的操作說明。
如要刪除物件的非現行版本 (如有較新版本):
- 選取「刪除物件」動作。
- 選取「Live state」條件,然後選取「Noncurrent」圓形按鈕。
- 選取「較新版本數量」條件,然後輸入 2。
如要在物件成為非現行版本 7 天後刪除這些版本,請按照下列步驟操作:
- 選取「刪除物件」動作。
- 選取「成為非現行版本後至今的天數」條件,然後輸入值 7。
指令列
您可以啟用生命週期管理,將下列生命週期設定套用至 bucket。
{
"lifecycle": {
"rule": [
{
"action": {"type": "Delete"},
"condition": {
"numNewerVersions": 2,
"isLive": false
}
},
{
"action": {"type": "Delete"},
"condition": {
"daysSinceNoncurrentTime": 7
}
}
]
}
}
如需要生命週期設定檔案的通用格式,請參閱 JSON 適用的值區資源表示法說明。
REST API
JSON API
您可以啟用生命週期管理,將下列生命週期設定套用至 bucket。
{
"lifecycle": {
"rule": [
{
"action": {"type": "Delete"},
"condition": {
"numNewerVersions": 2,
"isLive": false
}
},
{
"action": {"type": "Delete"},
"condition": {
"daysSinceNoncurrentTime": 7
}
}
]
}
}
如需要生命週期設定檔案的通用格式,請參閱 JSON 適用的值區資源表示法說明。
XML API
您可以啟用生命週期管理,將下列生命週期設定套用至 bucket。
<?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條件,或為daysSinceNoncurrentTime使用較大的值,以免產生提前刪除費用。請注意,即使進行這類變更,您仍可能產生提前刪除費用,具體取決於覆寫和刪除物件的頻率。
變更物件的的儲存空間級別
以下生命週期設定定義兩個規則。
- 如果物件的存在時間超過 365 天 (一年),且目前的儲存空間級別為 Standard Storage,名稱結尾為
.jpg或.png,請將物件的儲存空間級別變更為 Nearline Storage。 - 如果物件存在時間超過 1095 天 (三年),且目前的儲存空間級別為 Nearline Storage,名稱結尾為
.jpg或.png,則將物件的儲存空間級別變更為 Coldline Storage。
控制台
這些設定會使用「設定」一節中的操作說明。
如要在物件建立 365 天後將其移至 Nearline Storage 儲存空間,請按照下列步驟操作:
- 選取「將儲存空間級別設為 Nearline」動作。
- 選取「物件名稱與後置字串相符」規則範圍。
- 在顯示的欄位中輸入 .jpg,然後按下 Enter 鍵。然後輸入 .png,並再次按下 Enter 鍵。
- 選取「Age」(存在時間) 條件,然後輸入 365。
- 選取「儲存空間級別符合」條件,然後選擇「Standard」選項。
如要將物件移至 Coldline Storage 儲存空間,請在物件建立 1095 天後執行下列操作:
- 選取「將儲存空間級別設為 Coldline」動作。
- 選取「物件名稱與後置字串相符」規則範圍。
- 在顯示的欄位中輸入 .jpg,然後按下 Enter 鍵。接著輸入 .png,然後再次按下 Enter 鍵。
- 選取「年齡」條件,然後輸入值「1095」。
- 選取「Storage class matches」(儲存空間級別相符) 條件,然後選擇「Nearline」選項。
指令列
您可以啟用生命週期管理,將下列生命週期設定套用至 bucket。
{
"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
您可以啟用生命週期管理,將下列生命週期設定套用至 bucket。
{
"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
您可以啟用生命週期管理,將下列生命週期設定套用至 bucket。
<?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 適用的生命週期設定格式說明。
您可以根據目標,在這個範例設定中新增其他條件。舉例來說,您可以根據物件大小新增條件:
- 將極小的物件轉換至存取頻率較低的儲存空間級別,可能不符合成本效益。舉例來說,如果只想變更大小超過 5 MiB 的物件儲存空間級別,請新增
sizeAboveBytes條件,並將值設為5242880。 - 如要變更特定大小範圍內物件的儲存空間級別,請在同一規則中同時使用
sizeAboveBytes和sizeBelowBytes條件。
移除生命週期設定
在值區上設定時,下列生命週期設定會移除所有規則,藉此停用生命週期管理:
控制台
- 前往 Google Cloud 控制台的「Cloud Storage bucket」頁面。
在 bucket 清單中,點選要移除生命週期規則的 bucket 名稱。
按一下「Lifecycle」分頁標籤。
執行下列任一操作:
如要移除所有規則,請按一下「全部刪除」。
如要移除個別規則,請點按要刪除規則的「從值區刪除這項規則」。
指令列
使用 gcloud storage buckets update 指令,並加上 --clear-lifecycle 旗標:
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 適用的生命週期設定格式說明。
後續步驟
- 進一步瞭解物件生命週期管理,包括可用的生命週期動作和生命週期條件。
- 設定及查看 bucket 的生命週期設定。