文档首页/ 对象存储服务 OBS/ API参考/ API/ 对象操作/ 恢复归档或深度归档存储对象
更新时间:2024-09-29 GMT+08:00

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

功能介绍

如果要获取归档存储或深度归档对象的内容,需要先将对象恢复,然后再执行下载数据的操作。对象恢复后,会产生一个标准存储类型的对象副本,也就是说会同时存在标准存储类型的对象副本和归档或深度归档存储类型的对象,在恢复对象的保存时间到期后标准存储类型的对象副本会自动删除。

多版本

默认情况下,恢复的是最新版本的对象。如果最新版本的对象是删除标记,则返回404。如果要恢复指定版本的对象,请求可携带versionId消息参数。

请求消息样式

POST /ObjectName?restore&versionId=VersionID HTTP/1.1 
Host: bucketname.obs.region.myhuaweicloud.com 
Date: date
Authorization: authorization string
Content-MD5: MD5

<RestoreRequest> 
   <Days>NumberOfDays</Days> 
   <RestoreJob> 
       <Tier>RetrievalOption</Tier> 
   </RestoreJob> 
</RestoreRequest>

请求消息参数

参数名称

参数类型

是否必选

描述

versionId

String

参数解释:

待恢复归档或深度归档存储对象的版本号。

约束限制:

取值范围:

默认取值:

无,如果不设置则默认指定最新版本的对象。

请求消息头

该请求使用公共消息头,具体请参见表3

请求消息元素

表1 请求消息元素表

元素名称

元素类型

是否必选

描述

RestoreRequest

Container

参数解释:

恢复信息的容器。

约束限制:

取值范围:

默认取值:

Days

Integer

参数解释:

恢复对象后,会生成一个对象的标准存储副本,此参数指定恢复有效期,即标准存储副本的保存时间。

约束限制:

取值范围:

[1, 30],单位:天。

默认取值:

RestoreJob

Container

参数解释:

恢复选项的容器。

约束限制:

取值范围:

默认取值:

Tier

String

参数解释:

恢复选项,用户可根据需求选择恢复选项,不同的恢复选项恢复耗时不同。

说明:

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

取值范围:

  • Expedited:表示快速恢复对象,归档存储恢复耗时1~5 min,深度归档(受限公测)存储恢复约耗时3~5 h。
  • Standard:表示标准恢复对象,归档存储恢复耗时3~5 h,深度归档(受限公测)存储恢复约耗时5~12 h。

默认取值:

Standard

响应消息样式

1
2
HTTP/1.1 status_code
Date: date

响应消息头

该请求的响应消息使用公共消息头,具体请参考表1

响应消息元素

该请求的响应消息中不带有响应元素。

错误响应消息

表2 对象存储访问服务错误码列表

错误码

描述

HTTP状态码

RestoreAlreadyInProgress

参数解释:

对象正在恢复,请求冲突。

ErrorMessage: Object restore is already in progress

409 Conflict

ObjectHasAlreadyRestored

参数解释:

已经恢复的对象,禁止缩短恢复保存时间。

ErrorMessage:After restoring an archived object, you cannot shorten the restoration period of the archived object

409 Conflict

MalformedXML

参数解释:

Days字段不合法(不为整数)。

ErrorMessage: The XML you provided was not well-formed or did not validate against our published schema

400 Bad Request

InvalidArgument

参数解释:

Days字段取值超出范围(1<=days<=30)。

ErrorMessage: restoration days should be at least 1 and at most 30

400 Bad Request

MalformedXML

参数解释:

Tier字段不合法。

ErrorMessage: The XML you provided was not well-formed or did not validate against our published schema

400 Bad Request

InvalidObjectState

参数解释:

恢复的对象不是归档或深度归档存储对象。

ErrorMessage: Restore is not allowed, as object's storage class is not COLD or DEEP_ARCHIVE

403 Forbidden

请求示例

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
POST /object?restore HTTP/1.1
Host: examplebucket.obs.region.myhuaweicloud.com
Accept: */*
Date: WED, 01 Jul 2015 04:39:46 GMT
Authorization: OBS H4IPJX0TQTHTHEBQQCEC:kaEwOixnSVuS6If3Q0Lnd6kxm5A=
Content-Length: 183

<RestoreRequest>
   <Days>2</Days> 
   <RestoreJob>
     <Tier>Expedited</Tier>
   </RestoreJob> 
</RestoreRequest> 

响应示例

1
2
3
4
5
6
HTTP/1.1 202 Accepted
Server: OBS
x-obs-request-id: A2F500000163F374CCBB2063F834C6C4
x-obs-id-2: 32AAAUgAIAABAAAQAAEAABAAAQAAEAABCSLbWIs23RR95NVpkbWlJdlm8Dq+wQBw
Date: WED, 01 Jul 2015 04:39:46 GMT
Content-Length: 0