跳转到内容
搜索文档

删除存储桶

最后更新 查看 MarkdownAgent 设置

要删除 R2 存储桶,必须先移除其中所有对象。存储桶清空后即可删除。

清空存储桶

清空存储桶会删除其中的每个对象。存储桶本身及其配置(生命周期规则、CORS、事件通知、自定义域名)会保留。

此过程中移除的对象无法恢复。若存储桶配置了存储桶锁定规则,须在清空前移除。

您可以通过多种方式清空存储桶。

仪表板

仪表板提供 Empty Bucket(清空存储桶) 操作,无论存储桶包含多少对象均可处理。对于大型存储桶,操作在后台运行,仪表板会显示进度直至所有对象被移除。

  1. 在 Cloudflare 仪表板中,前往 R2 object storage(R2 对象存储) 页面。

    Go to Overview ↗
  2. 选择要清空的存储桶。

  3. 前往 Settings(设置) 选项卡。

  4. 滚动至 Empty Bucket(清空存储桶) 部分。

  5. 选择 Empty(清空)

  6. 在出现的对话框中确认操作。

对象生命周期规则

您可以配置对象生命周期规则,使存储桶中所有对象过期。

  1. 添加无前缀过滤、1 天过期的生命周期规则。
  2. 等待规则生效。对象通常在 24 小时内被移除,但大型存储桶可能需要更长时间。
  3. 存储桶清空后,移除生命周期规则。

Wrangler

添加 1 天后过期所有对象的生命周期规则:

npx wrangler r2 bucket lifecycle add <BUCKET_NAME> --expire-days 1

存储桶清空后,移除规则:

npx wrangler r2 bucket lifecycle remove <BUCKET_NAME> --id <RULE_ID>

完整生命周期命令列表请参阅 Wrangler R2 命令

您也可使用 S3 API 或仪表板配置生命周期规则。更多信息请参阅 对象生命周期

其他方式

您也可以编写脚本,使用 S3 APIWorkers API 批量列出并删除对象,或使用 rclone 从命令行移除对象。

删除存储桶

存储桶清空后,可以永久删除。删除存储桶会移除存储桶及其所有配置,包括生命周期规则、CORS 设置、事件通知和自定义域名。

您可以通过多种方式删除存储桶。

仪表板

  1. 在 Cloudflare 仪表板中,前往 R2 object storage(R2 对象存储) 页面。

    Go to Overview ↗
  2. 选择要删除的存储桶。

  3. 前往 Settings(设置) 选项卡。

  4. 滚动至 Delete Bucket(删除存储桶) 部分。若存储桶非空,请先选择 Empty Bucket(清空存储桶) 清除所有对象。

  5. 选择 Delete(删除)

  6. 在出现的对话框中确认操作。

Wrangler

使用 r2 bucket delete 命令删除空存储桶:

npx wrangler r2 bucket delete <BUCKET_NAME>

若存储桶仍包含对象,命令会失败。运行此命令前须先清空存储桶。

API

使用 delete bucket API 端点 删除空存储桶:

curl -X DELETE "https://api.cloudflare.com/client/v4/accounts/<ACCOUNT_ID>/r2/buckets/<BUCKET_NAME>" \
  -H "Authorization: Bearer <API_TOKEN>"

若存储桶位于特定司法管辖区,须包含 cf-r2-jurisdiction 请求头:

curl -X DELETE "https://api.cloudflare.com/client/v4/accounts/<ACCOUNT_ID>/r2/buckets/<BUCKET_NAME>" \
  -H "Authorization: Bearer <API_TOKEN>" \
  -H "cf-r2-jurisdiction: eu"

行为

  • 存储桶必须完全清空才能删除。尝试删除仍包含对象的存储桶会返回错误。
  • 配置了存储桶锁定规则的存储桶无法清空。清空前须移除所有锁定规则。
  • 存储桶上配置的事件通知在存储桶删除时一并移除。
  • 若存储桶使用自定义域名,删除前或删除后移除域名关联,避免 DNS 记录悬空。

相关资源

删除对象

从 R2 存储桶中删除单个对象或文件夹。

这篇文档对您有帮助吗?