アーカイブストレージクラスのオブジェクトを復元します。

バージョン管理

オブジェクトのバージョンごとにストレージクラスは異なる場合があります。 RestoreObject は、デフォルトでターゲットオブジェクトの現在のバージョンを復元します。 リクエストに versionId を指定すると、オブジェクトの特定のバージョンを復元できます。

  • RestoreObject はアーカイブストレージクラスのオブジェクトにのみ適用でき、標準ストレージクラスと IA ストレージクラスのオブジェクトには適用できません。
  • RestoreObject を呼び出して、初めてオブジェクトを復元する場合、202 ステータスコードが返されます。
  • RestoreObject を呼び出してオブジェクトを復元した場合、この API をもう一度呼び出すと、200 OK メッセージが返されます。

復元プロセス

アーカイブストレージクラスのオブジェクトは、次のように復元されます。
  1. オブジェクトは、凍結のステータスです。
  2. 復元リクエストを開始すると、オブジェクトは復元中のステータスになります。 通常、オブジェクトが復元されるまでに 1 分かかります。 ただし、オブジェクトの復元に必要な最大期間は 4 時間です。
  3. 復元タスクが完了すると、オブジェクトはデフォルトで 24 時間復元済みのステータスになります。 この期間中、オブジェクトの読み取りが可能です。 この期間中、RestoreObject を再度呼び出した場合、オブジェクトの復元ステータスは 24 時間延長されます。 復元済みの期間は、最大 7 日まで延長できます。
  4. この期間が終了すると、オブジェクトは凍結のステータスに戻ります。

課金方法

オブジェクトのステータスが変更された場合、次の料金が発生します。

  • アーカイブされたオブジェクトを復元する場合、データ取得料金が発生します。
  • オブジェクトの復元済みのステータスは、最大 7 日まで延長できます。 この期間中、料金は発生しません。
  • 復元されたオブジェクトが凍結ステータスに戻った後、再度復元すると、データ取得料金が発生します。

リクエスト構文

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

  • アーカイブされたオブジェクトを初めて復元するリクエストの例

    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+4yje5ioRCr****

    レスポンス例

    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
  • 復元中のオブジェクトを復元するリクエストの例

    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+N****

    レスポンス例

    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.***</HostId>
    </Error>
  • 復元済みのオブジェクトを復元するリクエストの例

    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+N****

    レスポンス例

    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
  • versionId を指定して、オブジェクトの特定のバージョンを復元するリクエストの例

    POST /oss.jpg?restore&versionId=CAEQNRiBgMClj7qD0BYiIDQ5Y2QyMjc3NGZkODRlMTU5M2VkY2U3MWRiNGRh**** HTTP/1.1
    Host: oss-archive-example.oss-cn-hangzhou.aliyuncs.com
    Date: Tue, 09 Apr 2019 06:50:48 GMT
    Authorization: OSS o3shiyktjw16xw1:2JND5qqlAlaA1/kLO4kBbGTw****

    レスポンス例

    HTTP/1.1 202 Accepted
    Date: Tue, 09 Apr 2019 06:50:48 GMT
    Content-Length: 0
    Connection: keep-alive
    Server: AliyunOSS
    x-oss-version-id: CAEQNRiBgMClj7qD0BYiIDQ5Y2QyMjc3NGZkODRlMTU5M2VkY2U3MWRiNGRh****
    x-oss-request-id: 5CAC40C8B7AEADE017000653

SDK

この API の SDK は次のとおりです。

エラーコード

エラーコード HTTP ステータスコード 説明
NoSuchKey 404 リクエストされたオブジェクトは存在しません。
OperationNotSupported 400 リクエストされたオブジェクトのストレージクラスは、アーカイブではありません。
RestoreAlreadyInProgress 409 RestoreObject の呼び出しは成功しました。オブジェクトは復元中です。 RestoreObject リクエストを重複して開始しないでください。