如需更多時間還原虛刪除的物件,以免遭到永久刪除,可以暫停永久刪除 (也稱為實刪除) Cloud Storage bucket 中虛刪除的物件。
根據預設,虛刪除的物件和 bucket 達到虛刪除保留時間長度後,就會永久刪除。暫停 bucket 的實刪除作業後,無論虛刪除保留時間長度為何,虛刪除的物件都會無限期保留在虛刪除狀態。只有在您恢復 bucket 的實刪除功能後,虛刪除的物件才會永久刪除。
用途
暫停實刪除作業,可讓您有更多時間執行非常大型或複雜的物件還原作業,否則可能需要比虛刪除保留時間更長的時間才能解決。例如:
- 復原含有數十億個物件的大型 bucket。如果 bucket 含有大量物件,復原 bucket 中所有物件的時間可能會超過保留期限,尤其是當您在保留期限過了一段時間後才發現刪除作業時。暫停永久刪除功能可協助您從非預期的大量刪除事件中復原,而不必為日常作業設定較長的保留時間。
- 刪除範圍不明確。如果不確定哪些物件誤遭刪除,可能需要花時間調查。暫停永久刪除作業,可讓您有更多時間找出需要還原的內容。
- 複雜復原作業:如果是複雜的還原作業,您可能有時間在保留期間內偵測並執行大量復原作業。如果未達到預期結果,暫停永久刪除作業可讓您有更多時間確認復原狀態是否符合需求。
建議的工作流程
建議您採用下列工作流程,暫時停止永久刪除 bucket。如果偵測到大量刪除事件,且解決時間可能超過虛刪除保留期限,請按照下列步驟操作:
如有需要,請還原 bucket。
完成復原作業並確認資料已成功還原後,請繼續執行 bucket 的永久刪除作業。
注意事項
- 如要暫停 bucket 的實刪除功能,請更新已啟用虛刪除功能的現有 bucket。建立 bucket 時,或 bucket 未啟用虛刪除功能時,無法暫停實刪除。
- 當您恢復 bucket 的實刪除功能時,Cloud Storage 會根據 bucket 中所有虛刪除物件的虛刪除保留時長,恢復永久刪除這些物件。如果物件已超過保留時間長度,則會在您恢復實刪除時永久刪除。
- 暫停永久刪除會立即生效。快取的 API 作業可能需要幾秒鐘才會傳回更新資訊。
- 暫停實刪除時,您仍可刪除 bucket 中的物件。刪除的物件會變成虛刪除狀態。
- 每 24 小時最多可暫停和繼續執行一次 bucket 實刪除作業。
- 您可以在實刪除功能暫停時,更新虛刪除保留時長。不過,在實刪除功能暫停期間,您無法停用虛刪除功能。
- 硬刪除功能暫停時,無法刪除 bucket。
必要的角色
如要取得暫停或恢復永久刪除作業所需的權限,請要求管理員在 bucket 或包含 bucket 的專案中,授予您儲存空間管理員 (roles/storage.admin) IAM 角色。
這個預先定義的角色具備暫停或恢復永久刪除作業所需的權限。如要查看確切的必要權限,請展開「Required permissions」(必要權限) 部分:
所需權限
您必須具備下列權限,才能暫停或恢復永久刪除作業:
-
storage.buckets.update -
如果您使用 Google Cloud 控制台執行本頁中的工作:
-
storage.buckets.get -
storage.buckets.list
-
如要瞭解如何授予角色,請參閱「設定及管理 bucket 的 IAM 政策」或「管理專案存取權」。
暫停實刪除
REST API
JSON API
安裝並初始化 gcloud CLI,以便為
Authorization標頭產生存取權杖。建立含有以下資訊的 JSON 檔案:
{ "softDeletePolicy": { "hardDeletePause": { "enabled": true } } }
如要暫停 bucket 的永久刪除作業,請使用
cURL呼叫 JSON API,並傳送PATCHBucket 要求:curl -X PATCH --data-binary @JSON_FILE_NAME \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME"
更改下列內容:
JSON_FILE_NAME:上一個步驟中建立的 JSON 檔案路徑。BUCKET_NAME:bucket 的名稱。例如:my-bucket。
恢復實刪除
REST API
JSON API
安裝並初始化 gcloud CLI,以便為
Authorization標頭產生存取權杖。建立含有以下資訊的 JSON 檔案:
{ "softDeletePolicy": { "hardDeletePause": { "enabled": false } } }
如要恢復永久刪除 bucket,請使用
cURL呼叫 JSON API,並傳送PATCHBucket 要求:curl -X PATCH --data-binary @JSON_FILE_NAME \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME"
更改下列內容:
JSON_FILE_NAME:上一個步驟中建立的 JSON 檔案路徑。BUCKET_NAME:bucket 的名稱。例如:my-bucket。
檢查 bucket 是否暫停實刪除
bucket 的虛刪除政策會提供資訊,說明是否已暫停實刪除。如要瞭解如何擷取 bucket 的虛刪除政策,請參閱「檢查 bucket 是否已啟用虛刪除功能」。
後續步驟
- 瞭解如何還原虛刪除的物件。
- 瞭解如何還原虛刪除的 bucket。