RestoreObject介面用於服務端執行解凍任務。

只針對歸檔類型的Object讀取,需要調用RestoreObject介面讓服務端執行解凍任務。如果一個Object是標準或者低頻訪問類型,不要調用該介面。

歸檔類型Object在執行Restore前後的狀態變換過程如下:

  1. 一個歸檔類型的Object初始時處於冷凍狀態。
  2. 提交一次Restore操作後,Object將處於解凍中的狀態,服務端執行解凍。
  3. 待服務端執行完成解凍任務後,Object進入解凍狀態,此時用戶可以讀取Object。
  4. 解凍狀態預設持續1天,24小時內再次調用RestoreObject介面則解凍狀態會自動延長24小時,最多可延長7天,之後,Object又回到初始時的冷凍狀態。

狀態變換過程中產生的相關費用如下:

  • 對一個處於冷凍狀態的Object執行Restore操作,會產生數據取回費用。
  • 解凍狀態最多延長7天。在此期間內不再重複收取數據取回費用。
  • 解凍狀態結束後,Object又回到冷凍狀態,再次解凍的首次讀取數據會收取數據取回費用。

請求文法

POST /ObjectName?restore HTTP/1.1
Host: archive-bucket.oss-cn-hangzhou.aliyuncs.com
Date: GMT Date
Authorization: SignatureValue

細節分析

  • 如果是針對該Object第一次調用RestoreObject介面,則返回202。
  • 如果已經成功調用過RestoreObject介面,且服務端仍處於解凍中,再次調用時返回409, 錯誤碼為:RestoreAlreadyInProgress。服務端返回該錯誤,代表格服務端正在執行restore操作,用戶只需要等待作業完成,最長等待時間4小時。
  • 如果已經成功調用過RestoreObject介面,且服務端解凍已經完成,再次調用時返回200,且會將object的可下載時間延長一天,最多延長7天。
  • 如果object不存在,則返回404。
  • 如果針對非歸檔類型的Object提交restore,則返回400,錯誤碼為:OperationNotSupported。

樣本

首次提交restore的請求樣本:

POST /oss.jpg?restore HTTP/1.1
Host: oss-archive-example.oss-cn-hangzhou.aliyuncs.com
Date: Sat, 15 Apr 2017 07:45:28 GMT
Authorization: OSS e1Unnbm1rgdnpI:y4eyu+4yje5ioRCr5PB=

返回樣本

HTTP/1.1 202 Accepted
Date: Sat, 15 Apr 2017 07:45:28 GMT
Content-Length: 0
Connection: keep-alive
Server: AliyunOSS
x-oss-request-id: 5374A2880232A65C23002D74

再次調用,且restore沒有完成時:

POST /oss.jpg?restore HTTP/1.1
Host: oss-archive-example.oss-cn-hangzhou.aliyuncs.com
Date: Sat, 15 Apr 2017 07:45:29 GMT
Authorization: OSS e1Unnbm1rgdnpI:21qtGJ+ykDVmdy4eyu+NIUs=

返回樣本

HTTP/1.1 409 Conflict
Date: Sat, 15 Apr 2017 07:45:29 GMT
Content-Length: 556
Connection: keep-alive
Server: AliyunOSS
x-oss-request-id: 5374A2880232A65C23002D74
<?xml version="1.0" encoding="UTF-8"?>
<Error>
  <Code>RestoreAlreadyInProgress</Code>
  <Message>The restore operation is in progress.</Message>
  <RequestId>58EAF141461FB42C2B000008</RequestId>
  <HostId>10.101.200.203</HostId>
</Error>

再次調用,且restore已經完成時:

POST /oss.jpg?restore HTTP/1.1
Host: oss-archive-example.oss-cn-hangzhou.aliyuncs.com
Date: Sat, 15 Apr 2017 07:45:29 GMT
Authorization: OSS e1Unnbm1rgdnpI:u6O6FMJnn+WuBwbByZxm1+y4eyu+NIUs=

返回樣本

HTTP/1.1 200 Ok
Date: Sat, 15 Apr 2017 07:45:30 GMT
Content-Length: 0
Connection: keep-alive
Server: AliyunOSS
x-oss-request-id: 5374A2880232A65C23002D74