本頁面顯示物件生命週期管理的設定範例。 在值區上設定生命週期設定後,值區中符合您定義條件的現有和未來物件,都會執行指定的動作。
刪除舊版物件
以下生命週期設定定義兩個規則。請注意,這些規則僅適用於在值區使用物件版本管理功能時:
如果值區中有 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動作、isLive條件設為true,以及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 儲存空間,請按照下列步驟操作:
- 選取「將儲存空間級別設為 Nearline」動作。
- 選取「物件名稱與後置字串相符」規則範圍。
- 在顯示的欄位中輸入 .jpg,然後按 Enter 鍵。然後輸入 .png,並再次按下 Enter 鍵。
- 選取「年齡」條件,然後輸入值「365」。
- 選取「儲存空間級別符合」條件,然後選擇「標準」選項。
如要在物件建立 1095 天後移至 Coldline 儲存空間,請按照下列步驟操作:
- 選取「將儲存空間級別設為 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 適用的生命週期設定格式說明。
移除生命週期設定
在 bucket 上設定以下生命週期設定時,系統會移除所有規則,藉此停用生命週期管理:
控制台
- 在 Google Cloud 控制台,前往「Cloud Storage bucket」頁面。
在 bucket 清單中,點選要移除生命週期規則的 bucket 名稱。
按一下「生命週期」分頁標籤。
按一下「全部刪除」,或按一下與要刪除規則相關聯的垃圾桶圖示,刪除個別規則。
指令列
使用加上 --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 適用的生命週期設定格式說明。
後續步驟
- 進一步瞭解物件生命週期管理,包括可用的生命週期動作和生命週期條件。
- 設定及查看值區的生命週期設定。