使用已软删除的存储分区

“软删除”功能概览

本页介绍了如何列出和恢复已软删除的存储分区。

概览

存储分区被软删除后,Cloud Storage 会将其保留到硬删除时间,并且在软删除状态下无法修改。硬删除时间至少与存储分区中对象的最新硬删除时间一样长。在硬删除时长过后,Cloud Storage 会永久删除存储分区。恢复软删除的存储分区后,该存储分区会恢复为有效状态,并且删除时存储分区中存在的对象也可以恢复。

注意事项

  • 为防止恶意删除,在软删除的存储分区保留完整的软删除保留时长之前,您无法永久删除该存储分区。

  • 存储分区被软删除后,您必须先恢复该存储分区,然后才能列出或恢复其中的软删除对象。

  • 如需恢复软删除的存储分区,您必须知道该存储分区的生成号。如需检索软删除的存储分区的世代编号,请参阅列出软删除的存储分区

  • 只有在没有同名有效存储分区的情况下,才能恢复软删除的存储分区。如果您或其他任何人创建的存储分区与软删除的存储分区同名,则在删除新存储分区之前,您无法恢复软删除的存储分区。

  • 存储分区恢复操作不会恢复在删除时位于存储分区中的软删除对象。如需在已软删除的存储分区恢复后恢复软删除的对象,您需要执行对象恢复操作。

  • 恢复包含标记的已软删除存储分区时,标记绑定可能无法恢复。为避免数据丢失,在恢复包含代码绑定的已软删除存储分区时,我们建议您检查以确保已恢复存储分区的代码绑定。如果未恢复存储分区的代码绑定,您需要手动将未恢复的代码绑定到存储分区

所需权限

如需获得恢复已软删除的存储分区所需的权限,请让您的管理员为您授予 Cloud Storage 项目的 Storage Admin (roles/storage.admin) IAM 角色。

此预定义角色可提供恢复已软删除的存储分区所需的权限。如需查看所需的确切权限,请展开所需权限部分:

所需权限

恢复已软删除的存储分区需要以下权限:

  • storage.buckets.list
  • storage.buckets.restore

列出已软删除的存储分区

您可以执行列表操作来检索已软删除存储分区的元数据。

请按照以下说明列出项目中所有已软删除的存储分区:

命令行

如需列出所有已软删除的存储分区,请使用 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"

恢复已软删除的存储分区

如需恢复已软删除的存储分区,请按照以下说明操作:

命令行

如需恢复已软删除的存储分区,请使用 gcloud storage restore 命令:

  gcloud storage restore gs://BUCKET_NAME#GENERATION_NUMBER

替换以下内容:

  • BUCKET_NAME:您要恢复的已软删除存储分区的名称。

  • GENERATION_NUMBER:您要恢复的已软删除存储分区的永久唯一世代编号。如需获取存储分区的生成版本号,请参阅列出已软删除的存储分区

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 是您要恢复的已软删除存储分区的永久唯一世代编号。如需获取存储分区的生成版本号,请参阅列出已软删除的存储分区

Cloud Storage 会将软删除的存储分区恢复为有效状态。请注意,恢复存储分区不会恢复在软删除时存储分区中存在的对象。如需恢复在删除时位于存储分区中的软删除对象,请参阅恢复软删除的对象

后续步骤