本頁說明如何列出及還原已軟刪除的 bucket。
總覽
bucket 虛刪除後,Cloud Storage 會保留 bucket,直到硬刪除時間為止,且 bucket 處於虛刪除狀態時無法修改。實刪除時間至少要與該 bucket 物件的最新實刪除時間一樣長。實刪除時間過後,Cloud Storage 會永久刪除 bucket。還原虛刪除的值區後,值區會恢復為使用中狀態,且刪除時值區中的物件也會一併還原。
注意事項
為防範惡意刪除,虛刪除的 bucket 必須保留完整虛刪除保留期限,才能永久刪除。
值區進入虛刪除狀態後,您必須先還原值區,才能列出或還原其中的虛刪除物件。
如要還原虛刪除的 bucket,您必須擁有 bucket 的代號。如要擷取虛刪除 bucket 的世代編號,請參閱「列出虛刪除的 bucket」。
只有在沒有同名的有效值區時,才能還原已軟刪除的值區。如果您或其他人建立的 bucket 與虛刪除的 bucket 同名,就必須先刪除新 bucket,才能還原虛刪除的 bucket。
bucket 還原作業不會還原刪除時 bucket 中的虛刪除物件。如要在還原虛刪除的 bucket 後還原虛刪除的物件,您必須執行物件還原作業。
還原含有標記的虛刪除值區時,標記繫結可能無法復原。為避免資料遺失,當您還原已軟刪除且含有標記繫結的值區時,建議檢查並確認值區的標記繫結已復原。如果儲存區的代碼繫結未復原,您必須手動將未復原的代碼繫結至儲存區。
所需權限
如要取得還原暫時刪除值區所需的權限,請要求管理員為您授予 Cloud Storage 專案的儲存空間管理員 (roles/storage.admin
) IAM 角色。
這個預先定義的角色具備還原已軟刪除值區所需的權限。如要查看確切的必要權限,請展開「必要權限」部分:
所需權限
如要還原已軟刪除的 bucket,必須具備下列權限:
-
storage.buckets.list
-
storage.buckets.restore
列出虛刪除的 bucket
您可以執行清單作業,擷取已軟刪除的 bucket 中繼資料。
如要列出專案中所有已軟刪除的值區,請按照下列說明操作:
指令列
如要列出所有已軟刪除的值區,請使用 gcloud storage ls
指令:
gcloud storage ls --buckets --soft-deleted --full
REST API
JSON API
安裝並初始化 gcloud CLI,以便為
Authorization
標頭產生存取權杖。使用
cURL
透過GET
Bucket 要求呼叫 JSON API:
curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://storage.googleapis.com/storage/v1/b?softDeleted=true"
還原虛刪除的 bucket
如要還原虛刪除的 bucket,請按照下列指示操作:
指令列
如要還原虛刪除的 bucket,請使用 gcloud storage restore
指令:
gcloud storage restore gs://BUCKET_NAME#GENERATION_NUMBER
更改下列內容:
BUCKET_NAME
:要還原的軟刪除 bucket 名稱。GENERATION_NUMBER
:要還原的虛刪除 bucket 永久專屬產生序號。如要取得 bucket 的代號,請參閱「列出虛刪除的 bucket」。
REST API
JSON API
安裝並初始化 gcloud CLI,以便為
Authorization
標頭產生存取權杖。使用
cURL
透過POST
Bucket 要求呼叫 JSON API:curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/restore?generation=GENERATION_NUMBER
其中:
BUCKET_NAME
是要還原的值區名稱。例如:my-bucket
。GENERATION_NUMBER
是要還原的虛刪除 bucket 的永久不重複產生編號。如要取得 bucket 的代號,請參閱「列出虛刪除的 bucket」。
Cloud Storage 會將虛刪除的 bucket 還原為使用中狀態。請注意,還原 bucket 不會還原虛刪除時 bucket 中的物件。如要還原刪除時 bucket 中的虛刪除物件,請參閱「還原虛刪除物件」。