更新时间:2023-07-14 GMT+08:00

删除对象

使用场景

为节省空间和成本,您可以根据需要删除无用的文件或文件夹。

桶没有开启多版本控制功能时,已删除的对象不可恢复,请谨慎操作。

手动删除和自动删除

您可以随时手动删除对象,也可以通过生命周期管理功能,定期自动删除桶中对象或者一次性清空桶中所有对象。

对于并行文件系统目录,大数据场景下(目录层级深、目录下文件多)的删除,可能会因超时而删除失败,建议使用:

  1. hadoop 客户端(嵌套OBS客户端插件OBSA)删除目录:hadoop fs - rmr obs://{并行文件系统名}/{目录名}。
  2. 给目录配置生命周期规则,通过生命周期后台删除。

单个删除和批量删除

OBS支持单个和批量删除对象,各个使用方式的批量删除方法请参见批量删除对象

批量删除的性能和单个请求内的对象数负相关,对于QPS的计算,删除N个对象,算N次操作。如果删除对象数量大并且对象前缀使用了字典序,可能导致大量对象的请求访问集中于某个特定分区,造成访问热点。热点分区上的请求速率受限,访问时延上升。

为解决以上问题,您可以考虑减少单个批量删除请求的对象数量,增加并发请求数,并将对象名的顺序前缀改为随机性前缀。

多版本控制功能启用时的对象删除机制

桶的多版本控制功能启用时,删除的目标不同,OBS会采取不同的处理方式:

  • 删除文件或文件夹:文件或文件夹不会立即被彻底删除,而是保留在“已删除对象”列表中,同时会为文件打上删除标记。
    • 如果想要彻底删除,需要再到“已删除对象”列表进行删除。
    • 如果想要找回删除的文件,可以通过“取消删除”功能来找回。详情请参见取消删除对象
  • 删除文件的某个版本:该版本会被彻底删除且无法恢复。如果删除的是文件的最新版本,那么时间最近的那个历史版本将会变成最新版本。
在多版本控制功能启用的场景下,在“已删除对象”中的文件仍然会保留多版本,在对不同的版本进行删除时需要注意:
  • 如果删除的是带“删除标记”的版本,实际上是找回该文件,等同于“取消删除”文件,而非彻底删除。详情请参见取消删除对象
  • 如果删除的是不带“删除标记”的版本,则会彻底删除该历史版本,即使后续该文件找回后,也无法恢复这个被彻底删除的历史版本。

更多关于找回已删除对象的内容请参见多版本控制功能启用时的对象找回机制

使用方式

OBS支持通过控制台、API、SDK、OBS Browser+、obsutil方式删除对象。

支持的使用方式

参考文档

控制台

删除文件或文件夹

SDK

OBS支持多种语言SDK,请从SDK概述页面选择进入对应的开发指南查阅。

API

删除对象

OBS Browser+

删除文件或文件夹

obsutil

删除对象