恢复冷存储对象
功能介绍
如果要获取冷存储对象的内容,需要先将对象恢复,然后再执行下载数据的操作。对象恢复后,会产生一个标准存储类型的对象副本,也就是说会同时存在标准存储类型的对象副本和冷存储类型的对象,在恢复对象的保存时间到期后标准存储类型的对象副本会自动删除。
多版本
默认情况下,恢复的是最新版本的对象。如果最新版本的对象是删除标记,则返回404。如果要恢复指定版本的对象,请求可携带versionId消息参数。
请求消息样式
POST /ObjectName?restore&versionId=VersionID HTTP/1.1 
Host: bucketname.obs.region.example.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  | 
      
        恢复对象的保存时间,最小值为1,最大值为30。 类型:Integer  | 
      
        是  | 
     
| 
        RestoreJob  | 
      
        恢复选项的容器 类型:Container  | 
      
        否  | 
     
| 
        Tier  | 
      
        恢复选项,支持两种取值:[Expedited|Standard]。 Expedited表示快速恢复对象,归档存储恢复耗时1~5 min。 Standard表示标准恢复对象,归档存储恢复耗时3~5 h。 默认取值为Standard。 类型:String  | 
      
        否  | 
     
响应消息样式
        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  | 
      
        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.example.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  |