使用场景
开启多版本控制后,在对象列表中,未打开“历史版本”开关,单击单个对象右侧操作列的“更多>删除”或选中多个对象并单击上方的“删除”(未指定版本ID删除对象),该删除对象操作并未完全删除对象,OBS将插入一个删除标记,当前版本对象会成为历史版本对象,删除标记成为当前版本,打开对象列表上方的“历史版本”开关即可看到。
图1 删除标记和历史版本对象
带删除标记的版本不占用存储空间,因此不收取任何费用,但如果所有的历史版本对象已被删除,仅保留带删除标记的版本没有任何意义且会影响OBS桶性能,因此建议您及时清理无历史版本的删除标记。
约束限制
如果配置生命周期规则时,使用标签作为筛选条件或当前版本配置了过期删除,那么无法通过配置生命周期规则来自动清理无历史版本的删除标记。
前提条件
- 多版本控制的状态为“已开启”或“暂停”。
- 所有历史版本对象均已被删除,仅剩余1个删除标记。
手动删除无历史版本的删除标记
OBS支持通过管理控制台、API、SDK方式手动删除无历史版本的删除标记,不支持通过OBS Browser+、obsutil方式手动删除无历史版本的删除标记。
使用OBS控制台
- 在OBS管理控制台左侧导航栏选择“桶列表”。
- 在桶列表中,单击待操作的桶,进入“对象”页面。
- 打开对象列表上方的“历史版本”开关。
- 在“最后修改时间”列找到带“删除标记”的对象,单击其操作列的“彻底删除”。
也可以选中所有带“删除标记”的对象,单击对象列表上方的“彻底删除”来批量删除带“删除标记”的对象。
- 在“彻底删除对象”弹窗,单击“确定”。
通过生命周期规则清理无历史版本的删除标记
OBS支持通过管理控制台、API、SDK方式配置生命周期规则来自动清理无历史版本的删除标记,不支持通过OBS Browser+、obsutil方式配置生命周期规则来自动清理无历史版本的删除标记。
使用OBS控制台
- 在OBS管理控制台左侧导航栏选择“桶列表”。
- 在OBS管理控制台桶列表中,单击待操作的桶,进入“对象”页面。
- 在左侧导航栏单击“数据管理 > 生命周期规则”,进入“生命周期规则”界面。
- 单击“创建”,系统弹出创建生命周期规则对话框。
- 根据要求,配置以下参数。其他参数可根据需要设置,具体请参见配置生命周期规则。

表1 “基本信息”参数说明 | 参数名称 | 示例 | 说明 |
| 状态 | 已开启 | 是否启用生命周期规则。 - 开关开启,启用生命周期规则,受规则影响的对象将在指定天数后转换存储类别/自动删除/删除碎片/清理无历史版本的删除标记。
- 开关关闭,表示不启用生命周期规则。
|
| 规则名称 | rule-925d | 生命周期规则的名称。 命名规则如下: - 长度不超过255个字符。
- 只能由大写或小写的英文字母、数字、英文句号(.)、下划线(_)和连字符(-)组成。
|
| 范围 | 所有对象 | 使用对象名称作为筛选条件,明确生命周期规则适用的对象范围。 - 对象前缀:配置对象前缀后,桶内满足该前缀的对象将受生命周期规则管理。
- 所有对象:桶内所有对象都将受生命周期规则管理。
配置范围时,需要注意多条生命周期规则之间重叠的情况,重叠的规则必须要满足重叠规则约束,否则将会因规则冲突导致生命周期规则配置失败。 |
| 当前版本 | 未开启 | 是否启用“当前版本”的配置。 - 开关打开,表示启用配置,最多配置4条记录。
- 开关关闭,表示不启用配置。
|
| 历史版本 | 未开启 | 是否启用“历史版本”的配置。 - 开关打开,表示启用配置,最多配置4条记录。
- 开关关闭,表示不启用配置。
|
| 清理无历史版本的删除标记 | 已开启 | 无历史版本的删除标记是指对象的所有历史版本被删除后,对象仅剩余的1个删除标记。此操作将清理该删除标记,清理后有利于提高性能。 状态:是否启用“清理无历史版本的删除标记”。开关打开,表示启用;开关关闭,表示不启用。 如果使用标签作为筛选条件或当前版本配置了过期删除,则不支持配置清理无历史版本的删除标记。 |
- 勾选“我已确认以上生命周期规则设置,以及可能会产生的费用。”。
- 单击“确定”,完成生命周期规则配置。