使用虛刪除的值區

虛刪除功能總覽

本頁說明如何列出及還原已軟刪除的 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

  1. 安裝並初始化 gcloud CLI,以便為 Authorization 標頭產生存取權杖。

  2. 使用 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

  1. 安裝並初始化 gcloud CLI,以便為 Authorization 標頭產生存取權杖。

  2. 使用 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 中的虛刪除物件,請參閱「還原虛刪除物件」。

後續步驟