更新时间:2024-10-23 GMT+08:00

删除OBS桶中的对象

操作场景

为节省空间和成本,您可以通过OBS管理控制台、API、SDK、OBS Browser+、obsutil方式删除无用的文件或文件夹。

本小节主要介绍如何手动删除文件或文件夹。手动和自动删除对比参见表1

表1 删除方式

删除方式

使用场景

删除规则

手动删除

如果需要对少量或者无规律的文件进行删除时,可以选择手动方式。

  • 单个删除
  • 批量删除

自动删除

如果需要一次性删除桶中大量文件,或者删除一些周期性的文件。可以通过生命周期功能,定期自动删除桶中对象,提高删除效率。

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

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

多版本控制功能对删除操作的影响

删除对象有丢失数据的风险,需要谨慎操作,而利用多版本控制功能可以降低该风险。

场景

删除对象的当前版本

删除对象的历史版本

未开启多版本控制功能

OBS将彻底删除这些对象,已删除的对象不可恢复,请谨慎操作。

不涉及

暂停多版本控制功能

  • 如果当前版本没有删除标记且当前版本ID不为null,则当前版本会成为历史版本,系统创建ID为null的删除标记成为当前版本。
  • 如果当前版本没有删除标记且当前版本ID为null,则系统创建ID为null的删除标记直接覆盖当前版本。此时,删除标记成为最新版本,被覆盖的版本数据无法恢复。
  • 如果当前版本有删除标记,则不执行任何操作。
    说明:
    • 暂停多版本后,新上传的对象版本号为null。如果之前有空版本号的同名对象,则上传对象会覆盖该带空版本号的对象。更多多版本相关信息请参见多版本控制
    • 开启“历史版本”开关,可以查看一个对象的版本ID。

删除的历史版本无法恢复。

已开启多版本控制功能

  • 如果当前版本没有删除标记,删除后系统会创建删除标记,当前版本会成为历史版本,删除标记成为当前版本。
  • 如果当前版本有删除标记,则不执行任何操作。
    说明:
    • 如果想要彻底删除,需要再到“已删除对象”列表进行删除。
    • 如果想要找回删除的文件,可以通过“取消删除”功能来找回。详情请参见取消删除对象

删除的历史版本无法恢复。

使用方式

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