本頁面顯示物件生命週期管理的設定範例。 在值區上設定生命週期設定後,值區中符合您定義條件的現有和未來物件,都會執行指定的動作。
刪除舊版物件
以下生命週期設定定義兩個規則。請注意,這些規則僅適用於在值區使用物件版本管理功能時:
如果值區中有 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
條件或使用較大的daysSinceNoncurrent
值,以免產生提前刪除費用。請注意,即使進行這類變更,您仍可能產生提前刪除費用,具體情況取決於您覆寫及刪除物件的頻率。
變更物件的的儲存空間級別
以下生命週期設定定義兩個規則。
- 如果物件的儲存空間級別的期間大於 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 適用的生命週期設定格式說明。
移除生命週期設定
在值區上設定以下生命週期設定時,系統會移除所有規則,藉此停用生命週期管理:
控制台
- 在 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 適用的生命週期設定格式說明。
後續步驟
- 進一步瞭解物件生命週期管理,包括可用的生命週期動作和生命週期條件。
- 設定及查看值區的生命週期設定。