本页面介绍了如何从 Cloud Storage 存储分区中删除对象。 如需简要了解对象,请参阅关键术语。
前提条件
前提条件因所使用的工具而异:
控制台
如需使用 Google Cloud Console 完成本指南,您必须拥有适当的 IAM 权限。如果您要删除的对象在不是由您创建的项目中,则可能需要项目所有者为您提供包含必要权限的角色。
如需查看特定操作所需权限的列表,请参阅 Google Cloud Console 的 IAM 权限。
如需查看相关角色的列表,请参阅 Cloud Storage 角色。或者,您也可以创建一个自定义角色,并为其提供具体受限的权限。
命令行
为使用命令行实用程序完成本指南,您必须拥有适当的 IAM 权限。如果您要删除的对象在不是由您创建的项目中,则可能需要项目所有者为您提供包含必要权限的角色。
如需查看特定操作所需权限的列表,请参阅 gsutil 命令的 IAM 权限。
如需查看相关角色的列表,请参阅 Cloud Storage 角色。或者,您也可以创建一个自定义角色,并为其提供具体受限的权限。
代码示例
如需使用 Cloud Storage 客户端库完成本指南,您必须拥有适当的 IAM 权限。如果您要删除的对象在不是由您创建的项目中,则可能需要项目所有者为您提供包含必要权限的角色。除非另有说明,否则客户端库请求通过 JSON API 发出。
如需查看特定操作所需的权限列表,请参阅 JSON 方法的 IAM 权限。
如需查看相关角色的列表,请参阅 Cloud Storage 角色。或者,您也可以创建一个自定义角色,并为其提供具体受限的权限。
REST API
JSON API
如需使用 JSON API 完成本指南,您必须拥有适当的 IAM 权限。如果您要删除的对象在不是由您创建的项目中,则可能需要项目所有者为您提供包含必要权限的角色。
如需查看特定操作所需的权限列表,请参阅 JSON 方法的 IAM 权限。
如需查看相关角色的列表,请参阅 Cloud Storage 角色。或者,您也可以创建一个自定义角色,并为其提供具体受限的权限。
删除对象
完成以下步骤,从一个 Cloud Storage 存储桶中删除对象:
控制台
- 在 Google Cloud Console 中,转到 Cloud Storage 的浏览器页面。
在存储桶列表中,点击包含待删除对象的存储桶的名称。
此时会打开“存储分区详情”页面,其中“对象”标签页已选中。
导航到可能位于文件夹中的对象。
点击要删除的每个对象对应的复选框。
您还可以点击文件夹对应的复选框,这将删除该文件夹中包含的所有对象。
点击删除按钮。
在出现的对话框中点击删除。
如果您一次删除许多对象,可以点击 Cloud Console 中的通知图标来跟踪删除进度。Cloud Console 可以在后台批量删除高达几百万个对象。
如需了解如何获取有关 Cloud Storage 浏览器中失败操作的详细错误信息,请参阅问题排查。
命令行
gcloud
使用 Google Cloud CLI 命令 gcloud alpha storage rm
:
gcloud alpha storage rm gs://BUCKET_NAME/OBJECT_NAME
其中:
BUCKET_NAME
是包含待删除对象的存储分区的名称,例如my-bucket
。OBJECT_NAME
是待删除对象的名称,例如pets/dog.png
。
如果成功,则响应类似如下示例:
Operation completed over 1 objects.
gsutil
使用 gsutil rm
命令:
gsutil rm gs://BUCKET_NAME/OBJECT_NAME
其中:
BUCKET_NAME
是包含待删除对象的存储分区的名称,例如my-bucket
。OBJECT_NAME
是待删除对象的名称,例如pets/dog.png
。
如果成功,则响应类似如下示例:
Operation completed over 1 objects.
代码示例
C++
如需了解详情,请参阅 Cloud Storage C++ API 参考文档。
C#
如需了解详情,请参阅 Cloud Storage C# API 参考文档。
Go
如需了解详情,请参阅 Cloud Storage Go API 参考文档。
Java
如需了解详情,请参阅 Cloud Storage Java API 参考文档。
Node.js
如需了解详情,请参阅 Cloud Storage Node.js API 参考文档。
PHP
如需了解详情,请参阅 Cloud Storage PHP API 参考文档。
Python
如需了解详情,请参阅 Cloud Storage Python API 参考文档。
Ruby
如需了解详情,请参阅 Cloud Storage Ruby API 参考文档。
REST API
JSON API
- 从 OAuth 2.0 Playground 获取授权访问令牌。将 Playground 配置为使用您自己的 OAuth 凭据。 如需了解相关说明,请参阅 API 身份验证。
使用
cURL
,通过DELETE
请求调用 JSON API:curl -X DELETE \ -H "Authorization: Bearer OAUTH2_TOKEN" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/o/OBJECT_NAME"
其中:
OAUTH2_TOKEN
是您在第 1 步中生成的访问令牌的名称。BUCKET_NAME
是包含待删除对象的存储分区的名称,例如my-bucket
。OBJECT_NAME
是要删除的对象的网址编码名称。例如,pets/dog.png
的网址编码为pets%2Fdog.png
。
XML API
- 从 OAuth 2.0 Playground 获取授权访问令牌。将 Playground 配置为使用您自己的 OAuth 凭据。 如需了解相关说明,请参阅 API 身份验证。
使用
cURL
,通过DELETE Object
请求调用 XML API:curl -X DELETE \ -H "Authorization: Bearer OAUTH2_TOKEN" \ "https://storage.googleapis.com/BUCKET_NAME/OBJECT_NAME"
其中:
OAUTH2_TOKEN
是您在第 1 步中生成的访问令牌的名称。BUCKET_NAME
是包含待删除对象的存储分区的名称,例如my-bucket
。OBJECT_NAME
是要删除的对象的网址编码名称。例如,pets/dog.png
的网址编码为pets%2Fdog.png
。
批量删除对象
如果您要批量删除十万个或更多对象,切勿使用 gsutil,因为此过程需要很长时间才能完成。请改用 Google Cloud Console(可删除高达几百万个对象)或对象生命周期管理(可删除任意数量的对象)。
如需使用对象生命周期管理批量删除存储桶中的对象,请针对存储桶设置生命周期配置规则,其中条件为 Age
设置为 0 天,操作设置为 delete
。
后续步骤
- 了解对象版本控制功能。
- 了解对象生命周期管理功能。
- 了解如何删除存储桶。