使用场景
桶中不完整的数据称之为碎片。OBS采用分段上传的模式上传数据,在下列情况下(但不仅限于此)通常会导致数据上传失败而产生碎片。
- 网络条件较差,与OBS的服务器之间的连接经常断开。
- 上传过程中,人为中断上传任务。
- 设备故障。
- 突然断电等特殊情况。
上传失败而产生的碎片会存储在OBS中,您可以使用本章提供的方式进行手动清理碎片,也可以根据需要选择通过继续运行中断或失败的分段上传任务消除碎片。
- 当您遇到删除桶失败的场景,请检查碎片列表中的对象是否已经全部删除。如果没有,请先删除碎片列表中的所有对象。
- 当您遇到桶内无对象,却还在扣费的场景,请检查桶内是否还存在碎片。如果存在,请删除碎片以节约存储成本。
费用说明
OBS中的碎片会占用存储空间,会按照存储空间计费项进行计费。
手动清理碎片
OBS支持通过管理控制台、API、SDK、OBS Browser+、obsutil方式手动清理碎片。
使用OBS控制台
- 在OBS管理控制台左侧导航栏选择“桶列表”。
- 在桶列表中,单击待操作的桶,进入“对象”页面。
- 单击“碎片”,选中需要清理的碎片,单击右侧的“删除”。
也可选中多个碎片,单击对象列表上方的“删除”进行批量删除。
- 单击“确定”,确认删除碎片。
图1 删除碎片
使用API
您可以通过以下步骤来直接删除桶中碎片:
- 使用列举桶中已初始化多段任务接口,来列举所有分段上传任务,获取所有UploadId。
- 使用取消多段上传任务接口,来取消分段上传任务,即可删除所有碎片。
使用SDK
OBS SDK通常只有采用多段上传,并且最后没有合并多段上传任务时会产生碎片,您通过取消多段上传任务来删除桶内碎片。步骤如下:
- 使用ObsClient.listMultipartUploads列举所有分段上传任务,获取所有UploadId。
- 使用ObsClient.abortMultipartUpload取消分段上传任务,即可删除所有分段碎片。
使用图形化工具OBS Browser+
- 登录OBS Browser+。
- 选中待配置的桶,单击“碎片”。
- 在“碎片”窗口中选择需要删除的碎片,单击上方清理图标。也可单击页面上方“删除所有”,清除所有碎片。单击右上角
刷新碎片列表,如图2所示。
图2 碎片管理
- 在弹出的“警告”对话框中确认删除任务信息,单击“是”。
- 单击“是”。
页面返回到“碎片”窗口,可关闭此窗口返回到OBS Browser+首页。
使用命令行工具obsutil
obsutil分段上传任务产生的碎片,可以通过删除分段上传任务来删除碎片。如果一个桶内有多个分段任务,则需要删除多个任务来删除桶中所有碎片。
具体操作请参见删除分段上传任务。
通过生命周期规则自动清理碎片
OBS支持通过管理控制台、API、SDK方式自动清理碎片,不支持使用OBS Browser+、obsutil方式自动清理碎片。
使用OBS控制台
- 在OBS管理控制台左侧导航栏选择“桶列表”。
- 在OBS管理控制台桶列表中,单击待操作的桶,进入“对象”页面。
- 在左侧导航栏单击“数据管理 > 生命周期规则”,进入“生命周期规则”界面。
- 单击“创建”,系统弹出创建生命周期规则对话框。
- 根据要求,配置以下参数。其他参数可根据需要设置,具体请参见配置生命周期规则。

表1 “基本信息”参数说明
|
参数名称 |
示例 |
说明 |
|
状态 |
已开启 |
是否启用生命周期规则。
- 开关开启,启用生命周期规则,受规则影响的对象将在指定天数后转换存储类别/自动删除/删除碎片/清理无历史版本的删除标记。
- 开关关闭,表示不启用生命周期规则。
|
|
规则名称 |
rule-2aee |
生命周期规则的名称。
命名规则如下:
- 长度不超过255个字符。
- 只能由大写或小写的英文字母、数字、英文句号(.)、下划线(_)和连字符(-)组成。
|
|
范围 |
所有对象 |
使用对象名称作为筛选条件,明确生命周期规则适用的对象范围。
- 对象前缀:配置对象前缀后,桶内满足该前缀的对象将受生命周期规则管理。
- 所有对象:桶内所有对象都将受生命周期规则管理。
配置范围时,需要注意多条生命周期规则之间重叠的情况,重叠的规则必须要满足重叠规则约束,否则将会因规则冲突导致生命周期规则配置失败。 |
|
当前版本 |
未开启 |
是否启用“当前版本”的配置。
- 开关打开,表示启用配置,最多配置4条记录。
- 开关关闭,表示不启用配置。
|
|
历史版本 |
未开启 |
是否启用“历史版本”的配置。
- 开关打开,表示启用配置,最多配置4条记录。
- 开关关闭,表示不启用配置。
|
|
碎片过期规则设置 |
状态:已开启
设置天数:30天 |
指定碎片在产生多少天后被删除。
- 状态:是否启用“碎片过期规则设置”。开关打开,表示启用配置;开关关闭,表示不启用配置。
- 设置天数:指定桶内碎片在产生后多少天自动被删除。
|
- 勾选“我已确认以上生命周期规则设置,以及可能会产生的费用。”。
- 单击“确定”,完成生命周期规则配置。
相关操作
OBS提供任务管理功能,当分段上传任务中断或失败时,您可以通过以下多种方式继续运行这些任务,任务完成后,碎片也会随着消除。
表2 消除碎片的不同方式
|
方式 |
操作指导 |
|
OBS Browser+ |
OBS Browser+提供图形化的任务管理界面,运行完成碎片对应的上传对象任务,碎片即可消除。
具体操作请参考管理失败队列、管理已暂停队列。 |
|
obsutil |
obsutil通过结果清单记录失败的任务,您可以通过结果清单对应的任务号恢复失败的上传任务,从而消除碎片。
具体操作请参考恢复失败的上传任务。 |
|
OBS SDK |
OBS SDK通过记录上传进度提供断点续传,您可以读取记录的进度,继续上传中断或失败的分段上传任务。
具体操作请参考各SDK开发指南中的“断点续传”章节。 |