删除不再需要的对象有助于您降低存储费用、遵守数据保留要求,并让存储分区保持井井有条。您可以根据自己的规模和自动化需求,选择多种方法来手动、以程序化方式或通过自动化政策删除对象。
本页介绍了可用于从存储分区中删除对象的方法,并帮助您为自己的任务选择合适的方法。
如需了解如何删除对象,请参阅删除对象。
单对象删除
单对象删除功能可让您精确控制特定数据。当您需要立即对存储桶的数据执行有针对性的更新时,通常会删除单个对象。以下是删除单个对象的常见原因:
更正错误:移除意外上传的文件或包含不正确数据的文件。
清理:在完成任务后手动移除临时文件或日志。
应用逻辑:在应用中执行操作(例如删除个人资料照片)时自动移除文件。
安全性和合规性:删除对象以移除敏感信息。
用于删除单个对象的工具
如需从存储桶中删除单个对象,请使用以下任一工具。每个工具都会针对每个对象发送单独的 DELETE 请求。
| 工具 | 说明 |
|---|---|
| Google Cloud 控制台 | 通过 Google Cloud 控制台删除对象。 |
| Google Cloud CLI | 使用 gcloud storage rm 命令删除对象。 |
| 客户端库 | 使用受支持的语言(例如 C++、C#、Go、Java、Node.js、PHP、Python 或 Ruby)以编程方式删除对象。 |
| REST API | 使用 JSON 和 XML REST API 删除对象。 |
批量删除对象
批量删除方法旨在对大型数据集执行高效操作。使用批量删除功能来管理存储费用,并自动执行存储分区中的数据健全度操作。以下是删除多个对象的常见原因:
费用优化:移除不再需要用于运营的大型数据集,例如旧日志或临时 build 制品。
合规性自动化:通过在特定时间段(例如 30 天)后删除对象来自动强制执行数据保留政策。
存储分区迁移或停用:在迁移数据或关闭项目时,清除数百万或数十亿个对象。
数据流水线清理:在生成最终报告或数据集后,移除中间处理文件。
用于批量删除对象的工具
如需批量删除对象,请使用以下工具之一。与单个请求相比,这些方法经过优化,可实现更高的吞吐量并减少开销。
| 工具 | 说明 |
|---|---|
| 使用 XML API 删除多个对象 | 一种以编程方式在单个 使用 XML API 删除多个对象时,Cloud Storage 会生成数据访问审核日志。这些日志包含有关总体请求和单个对象删除的详细信息,前提是您已启用数据访问审核日志。如需了解详情,请参阅多对象删除 XML API 的审核日志。 多对象删除 XML API 具有以下限制:
|
| Google Cloud 控制台 | 在删除高达一百万个对象时,建议使用 Google Cloud 控制台。在您发起删除请求后,系统会在后台进行该过程。您可以点击 Google Cloud 控制台标题中的通知按钮 ( notifications) 来检查批量删除的状态。 |
| 存储批量操作 | 一种全代管式服务,可根据清单文件执行删除操作。适合删除多达数十亿个对象,并具有内置的跟踪和重试功能。 如果您想执行以下操作,建议使用存储批量操作:
|
gcloud storage rm --recursive |
用于删除共享同一前缀的所有对象的 Google Cloud CLI 命令。适合使用 CLI 执行中小型规模的批量任务。 |
| 对象生命周期管理 | 一项服务器端功能,可根据您定义的规则(例如对象存储时间或存储类别)自动删除对象。如需批量删除存储桶中的对象,请针对存储桶设置生命周期配置规则,其中条件为 Age 设置为 0 天,操作设置为 delete。设置规则后,Cloud Storage 会异步执行批量删除操作。
|
| 批量请求 | 使用某些客户端库或直接使用 JSON API 时,您可以批处理删除请求,以减少需要的 HTTP 连接数量。 |
选择删除方法
用于删除对象的工具取决于您需要删除的对象数量和原因。请根据以下指南为您的使用场景选择一种方法:
- 如果您需要删除一个或仅几个特定对象,请使用Google Cloud 控制台、
gcloud storage rm或使用客户端库或 REST API 的单个 API 调用。如需了解详情,请参阅删除单个对象。 - 如果您需要在单个 API 请求中删除最多 1,000 个对象,请使用多对象删除 XML API、Amazon S3 CLI 或与 S3 兼容的客户端库(例如 Boto3)。如需了解详情,请参阅批量删除对象。
- 如果要删除具有相同名称前缀的多个对象,请使用
gcloud storage rm --recursive命令。如需了解详情,请参阅使用 Google Cloud CLI 批量删除对象。 - 如果您需要删除数百万或数十亿个对象,请使用存储批量操作,以便可靠地进行大规模删除。
- 如果您需要在对象满足特定条件时自动删除对象,请使用对象生命周期管理。
后续步骤
- 如果不再需要某个存储桶,请将其删除。
- 了解对象版本控制,该功能可让您在同一存储桶中保留对象的多个版本。
- 配置对象生命周期管理,以根据条件自动执行对象删除和其他操作。
- 使用存储批量操作高效地执行大规模对象删除。
- 使用软删除功能有助于保护对象免遭意外删除。
- 了解对象保留锁定和存储分区锁定如何帮助强制执行数据保留政策。