使用软删除

概览 用法

本页面介绍了如何为存储桶启用、停用、更新软删除政策以及检查其状态。如需了解如何列出和恢复软删除的对象,请参阅使用软删除的对象

准备工作

如需为存储桶创建和管理软删除政策,请确保您具有该存储桶或包含该存储桶的项目的 Storage Admin (roles/storage.admin) IAM 角色。此预定义角色可提供为存储桶创建和管理软删除所需的权限。

如需查看所需的确切权限,请展开所需权限部分:

所需权限

  • storage.buckets.get
  • storage.buckets.update
  • storage.buckets.list
    • 如果您计划使用 Google Cloud 控制台执行本页面上的说明,则需要此权限。

如需了解如何授予存储桶的角色,请参阅将 IAM 与存储桶搭配使用。如需了解如何授予项目的角色,请参阅管理对项目的访问权限

管理存储桶的软删除政策

如需添加、移除或更改存储桶的软删除政策,请执行以下操作:

控制台

  1. 在 Google Cloud 控制台中,进入 Cloud Storage 存储桶页面。

    进入“存储桶”

  2. 在存储桶列表中,点击要管理其软删除政策的存储桶的名称。

  3. 点击保护标签页。

  4. 软删除政策部分中,执行以下操作之一:

    • 如果存储桶没有软删除政策,请点击设置软删除政策,为保留时长选择时间单位和时间长度,然后点击保存

    • 如果存储桶具有软删除政策,请点击修改以更改保留时长的时间长度,或点击删除以移除存储桶的软删除政策。

如需了解如何在 Google Cloud 控制台中获取失败的 Cloud Storage 操作的详细错误信息,请参阅问题排查

命令行

如需添加或修改存储桶的软删除政策,请使用带有 --soft-delete-duration 标志的 gcloud storage buckets update 命令:

  gcloud storage buckets update gs://BUCKET_NAME --soft-delete-duration=SOFT_DELETE_DURATION

其中:

  • BUCKET_NAME 是存储桶的名称。例如 my-bucket
  • SOFT_DELETE_DURATION 指定保留软删除对象的时长。例如,2w1d 表示两周零一天。如需了解详情,请参阅软删除保留时长

如需从存储桶中移除软删除政策,请使用带 --clear-soft-delete 标志的 gcloud storage buckets update 命令:

  gcloud storage buckets update gs://BUCKET_NAME --clear-soft-delete

其中:

  • BUCKET_NAME 是存储桶的名称。例如 my-bucket

REST API

JSON API

  1. 安装并初始化 gcloud CLI,以便为 Authorization 标头生成访问令牌。

    或者,您可以创建访问令牌(使用 OAuth 2.0 Playground),并将其包含在 Authorization 标头中。

  2. 创建一个包含以下信息的 JSON 文件:

    {
      "softDeletePolicy": {
        "retentionDurationSeconds": "RETENTION_DURATION"
      }
    }

    其中,RETENTION_DURATION 是您要保留软删除对象的时长。例如,2w1d 会将软删除的对象保留两周零一天。如需了解详情,请参阅软删除保留时长

    如需停用存储桶的软删除政策,请对 RETENTION_DURATION 使用值 0

  3. 使用 cURL,通过 PATCH Bucket 请求调用 JSON API

    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 是您在第 2 步中创建的 JSON 文件的路径。
    • BUCKET_NAME 是相关存储桶的名称,例如 my-bucket

检查存储桶是否启用了软删除政策

控制台

  1. 在 Google Cloud 控制台中,进入 Cloud Storage 存储桶页面。

    进入“存储桶”

  2. 在存储桶列表中,点击要检查其软删除政策的存储桶的名称。

  3. 点击保护标签页。

    状态会显示在软删除政策(用于数据恢复)部分中。

如需了解如何在 Google Cloud 控制台中获取有关失败的 Cloud Storage 操作的详细错误信息,请参阅问题排查

命令行

如需检查存储桶的软删除政策状态,请使用 gcloud storage buckets describe 命令:

  gcloud storage buckets describe gs://BUCKET_NAME \
      --format="default(soft_delete_policy)"

其中:

  • BUCKET_NAME 是存储桶的名称。例如 my-bucket

REST API

JSON API

  1. 安装并初始化 gcloud CLI,以便为 Authorization 标头生成访问令牌。

    或者,您可以使用 OAuth 2.0 Playground 创建访问令牌,并将其包含在 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/BUCKET_NAME?fields=softDeletePolicy"

    其中 BUCKET_NAME 是相关存储桶的名称,例如 my-bucket

后续步骤