恢复归档或深度归档存储对象
功能介绍
如果要获取归档存储或深度归档对象的内容,需要先将对象恢复,然后再执行下载数据的操作。对象恢复后,会产生一个标准存储类型的对象副本,也就是说会同时存在标准存储类型的对象副本和归档或深度归档存储类型的对象,在恢复对象的保存时间到期后标准存储类型的对象副本会自动删除。
多版本
默认情况下,恢复的是最新版本的对象。如果最新版本的对象是删除标记,则返回404。如果要恢复指定版本的对象,请求可携带versionId消息参数。
请求消息样式
POST /ObjectName?restore&versionId=VersionID HTTP/1.1 Host: bucketname.obs.cn-north-4.myhuaweicloud.com Date: date Authorization: authorization string Content-MD5: MD5 <RestoreRequest> <Days>NumberOfDays</Days> <RestoreJob> <Tier>RetrievalOption</Tier> </RestoreJob> </RestoreRequest>
请求消息参数
参数名称 |
参数类型 |
是否必选 |
描述 |
---|---|---|---|
versionId |
String |
否 |
参数解释: 待恢复归档或深度归档存储对象的版本号。 约束限制: 无 取值范围: 无 默认取值: 无,如果不设置则默认指定最新版本的对象。 |
请求消息头
该请求使用公共消息头,具体请参见表3。
请求消息元素
元素名称 |
元素类型 |
是否必选 |
描述 |
---|---|---|---|
RestoreRequest |
Container |
是 |
参数解释: 恢复信息的容器。 约束限制: 无 取值范围: 无 默认取值: 无 |
Days |
Integer |
是 |
参数解释: 恢复对象后,会生成一个对象的标准存储副本,此参数指定恢复有效期,即标准存储副本的保存时间。 约束限制: 无 取值范围: [1, 30],单位:天。 默认取值: 无 |
RestoreJob |
Container |
否 |
参数解释: 恢复选项的容器。 约束限制: 无 取值范围: 无 默认取值: 无 |
Tier |
String |
否 |
参数解释: 恢复选项,用户可根据需求选择恢复选项,不同的恢复选项恢复耗时不同。
说明:
对于深度归档对象,大批量恢复建议使用标准恢复,且对象最终恢复时间受对象大小以及取回数据量的影响。 取值范围:
默认取值: Standard |
响应消息样式
1 2 |
HTTP/1.1 status_code Date: date |
响应消息头
该请求的响应消息使用公共消息头,具体请参考表1。
响应消息元素
该请求的响应消息中不带有响应元素。
错误响应消息
错误码 |
描述 |
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.cn-north-4.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 |