文档首页/ 对象存储服务 OBS/ 用户指南/ 对象管理/ 管理对象/ 恢复归档或深度归档存储对象
更新时间:2025-09-12 GMT+08:00
分享

恢复归档或深度归档存储对象

使用场景

对于存储类别为归档存储或深度归档存储的对象,用户需要先恢复才能下载、通过对象URL访问对象。

数据恢复时间和收费详情请参见产品价格详情

注意事项

  • 数据恢复后,会产生一个标准存储类别的对象副本,即对象同时存在标准存储类别的对象副本和归档存储或深度归档存储类别的对象。归档存储或深度归档存储对象恢复完成时,对象的恢复状态显示“已恢复”,生成的标准存储类型的对象副本不会在桶中展示。
  • 开启多版本控制功能后,不指定versionId则默认恢复对象的当前版本,您可以通过指定versionId的方式来恢复对象的指定版本。
  • 如果对象是第一次调用RestoreObject接口,会返回202,表示服务端已收到请求。如果已经成功调用过RestoreObject接口,且Object已完成恢复,再次调用时返回200 OK。

约束限制

  • 归档和深度归档对象恢复的有效期时长上限为30天
  • 归档存储或深度归档存储的对象正在恢复的过程中,不支持修改恢复方式,不允许暂停或删除恢复任务。
  • 对象的恢复状态为恢复中时,对象不能再次恢复,接口会报错409,请对象恢复完成后再进行恢复操作。
  • 恢复中的对象不能加入批量恢复文件中。

对象恢复方式及耗时

OBS提供加急和标准两种不同的恢复方式。

对于深度归档对象,大批量恢复建议使用标准恢复,且对象最终恢复时间受对象大小以及取回数据量的影响。

存储类别

恢复方式

耗时

归档存储

加急

1~5 min

归档存储

标准

3~5 h

深度归档存储

加急

3~5 h

深度归档存储

标准

5~12 h

费用说明

表1 对象恢复费用说明

操作名称

产生费用类别

费用说明

付费方式

对象恢复

请求费用

按恢复成功的对象数计算请求次数,产生请求费用。

恢复成功N个对象,记录N次请求。

低频访问存储无需手动触发恢复,系统会为您自动触发恢复操作,与归档、深度归档存储相同需要收取恢复请求费用。

按需计费

数据恢复费用(流量费用)

数据恢复的流量费用,按恢复方式(OBS支持加急和标准两种恢复方式)和文件大小计费。如果文件在恢复有效期内,不会再次产生恢复流量费用。

按需计费

公网流出流量(仅公网访问对象时收取)

如果恢复后使用公网访问对象,还会按照文件大小计算公网流出流量费用。

按需计费

资源包(公网流出流量包)

临时文件存储费用

数据恢复后,会产生一个标准存储类型的对象副本,即对象同时存在标准存储类型的对象副本和原有的归档存储或深度归档存储对象。恢复对象时,会一次性收取这份标准存储数据的存储费用。恢复有效期到期后标准存储类型的对象副本会自动删除。

低频访问存储数据恢复和归档存储直读功能不产生对象副本,不会产生标准存储的存储费用。

按需计费

恢复对象原理介绍

恢复流程

归档和深度归档存储恢复流程一致,此处以具体时间为例说明恢复流程,步骤如下:

  1. 初始阶段对象处于“未恢复”状态。
  2. 7月1日,当您提交首次恢复请求后,对象进入“恢复中”状态。
  3. 7月1日,服务端完成恢复操作,对象进入“已恢复”状态,此时您可读取对象。假设首次有效期为10天,那么恢复过期时间为7月10日,该日期之前对象一直处于“已恢复”状态。
  4. 对象处于“已恢复”状态时,如果您再次发起恢复操作,例如7月5日再次恢复,单次有效期设置为10天,那么恢复过期时间变更为7月15日,有效期总长变为15天。
  5. 恢复状态到期后,对象会自动回归“未恢复”状态,且原有存储类别不受影响。

恢复有效期叠加规则

当您在A时间点,发起单次有效期时长为N天的恢复操作,恢复过期时间为A+N。然后您在B时间点(B在A+N之前),再次发起单次有效期时长为M天的恢复操作,那么:

  • 如果B+M晚于A+N,那么恢复过期时间变更为B+M,有效期总长为(B-A)+M,如图1所示。
图1 恢复有效期叠加规则
  • 如果B+M早于A+N,那么第二次发起的恢复操作会报错失败。

前提条件

已具有obs:object:RestoreObject的权限。具体操作,请参见对当前账号下单个IAM用户授权

使用方式

OBS支持通过控制台、API、SDK、OBS Browser+、obsutil方式恢复归档存储对象或深度归档存储对象。

如何查看对象的恢复状态?

OBS支持使用控制台、OBS Browser+、API、SDK四种方式查询对象的恢复状态。

控制台:单击对象,进入对象详情页,如图4所示,在基本信息页签即可查看对象恢复状态。

图4 使用控制台查看对象恢复状态

OBS Browser+:单击对象右侧的“”图标,然后单击“属性”选项,如图5所示,在弹窗中查看对象恢复状态。

图5 使用Browser+查看对象恢复状态

API:调用获取对象元数据接口,查看接口响应头“x-obs-restore”,即可获取对象恢复状态。

SDK:调用各语言SDK的获取对象元数据接口,查看对应接口的返回参数,即可获取对象恢复状态。

相关文档