RestoreObject

如果未开启归档直读,归档类型的Object需要解冻后才能读取。冷归档、深度冷归档不支持开启直读,冷归档、深度冷归档类型的Object需要解冻后才能读取。涉及读取的操作包括下载(GetObject)、图片处理(ProcessImage)、拷贝(CopyObject)、分片拷贝(UploadPartCopy)、查询(SelectObject)以及通过POST请求进行数据处理(PostProcessTask)。本文介绍执行数据读取操作之前,如何完成归档、冷归档以及深度冷归档Object的解冻操作。

前提条件

注意事项

  • RestoreObject接口只针对归档、冷归档和深度冷归档类型的Object,不适用于标准类型和低频访问类型的Object。

  • 对归档、冷归档以及深度冷归档Object执行非数据读取请求时(例如DeleteObjectDeleteMultipleObjectsGetObjectMetaHeadObject等),无需解冻就能操作。对于无需解冻就能完成的操作,如果再解冻,将会产生额外不必要的费用。

  • 对于Object第一次调用RestoreObject接口,则返回202。如果已经成功调用过RestoreObject接口,且Object已完成解冻,再次调用时返回200 OK。

  • 对于正在解冻中的Object不支持重复调用RestoreObject接口,需要等待Object解冻完成后再次调用RestoreObject接口。否则报错409。

  • 对于开启版本控制的Bucket,Object的各个版本可以对应不同的存储类型。调用RestoreObject接口默认解冻Object当前版本,您可以通过指定versionId的方式来解冻Object指定版本。

解冻过程

不同存储类型的Object的解冻过程相同。Object的解冻过程如下。

  1. 初始时,Object处于冷冻状态。

  2. 提交一次解冻请求后,Object处于解冻中状态。

  3. 服务端完成解冻任务后,Object进入解冻状态。此时您可以读取Object。

  4. 如果Object处于解冻状态时,再次提交一次解冻请求,Object的解冻状态持续时间在原基础上累加。延长后的总时长不能超过每种存储类型的解冻状态持续时间的最大值。

  5. 解冻状态结束后,Object再次返回到冷冻状态。

解冻消耗时间

解冻不同存储类型的Object所消耗的时间可参考下表。解冻时间请以实际为准。

Object的存储类型

说明

归档类型

1分钟。

冷归档类型

  • 高优先级(Expedited):表示1小时内完成解冻。

  • 标准(Standard):表示2~5小时内完成解冻。

  • 批量(Bulk):表示5~12小时内完成解冻。

深度冷归档类型

  • 高优先级(Expedited):表示12小时内完成解冻。

  • 标准(Standard):表示48小时内完成解冻。

解冻配额

  • 单个阿里云账号在单个地域的冷归档类型的Object的解冻配额参考值:平均每秒500个Object,三种解冻优先级总解冻配额为每天100 TB~120 TB。如您的业务有更高的解冻配额需求,请联系技术支持

  • 单个阿里云账号在单个地域的深度冷归档类型的Object解冻配额参考值:平均每秒100个Object,两种解冻优先级总解冻配额为每天10 TB~15 TB。如您的业务有更高的解冻配额需求,请联系技术支持

说明

超出冷归档以及深度冷归档的解冻配额参考值后,仍可以提交解冻请求。解冻请求将排入队列中,且解冻完成时间可能超出指定优先级对应的完成时间。

解冻状态持续时间

不同存储类型的Object处于解冻状态的持续时间如下。

Object的存储类型

说明

归档类型

取值为1~7的正整数,单位为天。

冷归档类型

取值为1~365的正整数,单位为天。

深度冷归档类型

取值为1~365的正整数,单位为天。

计费说明

  • 解冻归档、冷归档、深度冷归档类型的Object会产生数据取回容量费用。更多信息,请参见数据处理费用

  • 解冻归档类型的Object会产生Put类型请求次数费用。更多信息,请参见请求费用

  • 解冻冷归档、深度冷归档类型的Object会产生取回请求次数费用。更多信息,请参见请求费用

  • 归档类型、冷归档、深度冷归档类型的Object在解冻过程中以及解冻完成后,均按照相应的存储类型计算存储费用。更多信息,请参见存储费用

  • 冷归档、深度冷归档类型的Object在解冻时,会生成一份标准存储类型的文件副本用于访问,该文件在解冻时间结束前会以标准存储的存储费率计算临时存储费用。更多信息,请参见临时存储费用

  • 归档类型的Object可达到最长7天的解冻持续时间,冷归档、深度冷归档类型的Object可达到最长365天的解冻持续时间,在此期间不再重复收取数据取回费用。

  • 解冻状态结束后,Object又回到冷冻状态,再次执行解冻操作会收取数据取回费用。

请求语法

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

请求头

此接口仅包含公共请求头。更多信息,请参见公共请求头(Common Request Headers)

请求参数

名称

类型

是否必选

示例值

描述

RestoreRequest

容器

不涉及

解冻请求信息。

子节点:Days、JobParameters

Days

整型

2

设置归档、冷归档以及深度冷归档类型Object的解冻天数。

  • 归档类型Object解冻天数的取值范围为1~7,单位为天。

  • 冷归档以及深度冷归档类型Object解冻天数的取值范围为1~365,单位为天。

父节点:RestoreRequest

JobParameters

容器

不涉及

解冻优先级的容器。仅在解冻冷归档、深度冷归档类型的Object时有效。

如果不传入JobParameters节点,则解冻优先级默认为Standard。

父节点:RestoreRequest

子节点:Tier

Tier

字符串

Standard

冷归档、深度冷归档类型Object解冻优先级。取值范围如下:

  • 冷归档类型Object

    • 高优先级(Expedited):表示1小时内完成解冻。

    • 标准(Standard,默认值):表示2~5小时内完成解冻。

    • 批量(Bulk):表示5~12小时内完成解冻。

  • 深度冷归档类型Object

    • 高优先级(Expedited):表示12小时内完成解冻。

    • 标准(Standard,默认值):表示48小时内完成解冻。

父节点:JobParameters

响应头

名称

类型

示例值

描述

x-oss-object-restore-priority

字符串

Standard

解冻优先级。仅处于解冻状态的冷归档或者深度冷归档类型的Object才显示该字段。

x-oss-version-id

字符串

CAEQNRiBgMClj7qD0BYiIDQ5Y2QyMjc3NGZkODRlMTU5M2VkY2U3MWRiNGRh****

Object的版本ID。仅解冻Object指定版本时才显示该字段。

此接口还包含公共响应头。更多信息,请参见公共响应头(Common Response Headers)

示例

  • 第一次对处于冷冻状态的归档类型Object提交解冻请求

    请求示例

    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 qn6q**************:77Dv****************

    返回示例

    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
  • 对处于解冻中状态的归档类型Object提交解冻请求

    请求示例

    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 qn6q**************:77Dv****************

    返回示例

    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.XX.XX</HostId>
    </Error>
  • 对处于解冻状态的归档类型Object提交解冻请求

    请求示例

    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 qn6q**************:77Dv****************
    <RestoreRequest>
      <Days>2</Days>
    </RestoreRequest>

    返回示例

    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
  • 对处于解冻状态的冷归档或者深度冷归档类型Object提交解冻请求

    请求示例

    POST /coldarchiveobject?restore HTTP/1.1
    Host: cold-archive-bucket.oss-cn-hangzhou.aliyuncs.com
    User-Agent: aliyun-sdk-go/v2.1.0 (Darwin/17.5.0/x86_64;go1.11.8)/ossutil-v1.6.12
    Content-Length: 99
    Authorization: OSS qn6q**************:77Dv****************
    Content-Type: text/plain; charset=utf-8
    Date: Tue, 21 Apr 2020 11:09:19 GMT
    Accept-Encoding: gzip
    <RestoreRequest>
      <Days>2</Days>
      <JobParameters>
        <Tier>Standard</Tier>
      </JobParameters>
    </RestoreRequest>

    返回示例

    HTTP/1.1 200 OK
    Server: AliyunOSS
    Date: Tue, 21 Apr 2020 11:09:19 GMT
    Content-Length: 0
    Connection: keep-alive
    x-oss-request-id: 5E9ED45F093E2F3930318EA0
    x-oss-object-restore-priority: Standard
    x-oss-server-time: 10
  • 指定versionId来解冻指定版本的Object

    请求示例

    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 qn6q**************:77Dv****************

    返回示例

    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

此接口对应的各语言SDK如下:

错误码

错误码

HTTP状态码

描述

OperationNotSupported

400

目标Object不支持解冻,该Object不是归档、冷归档或者深度冷归档类型。

NoSuchKey

404

目标Object不存在。

RestoreAlreadyInProgress

409

您已经成功调用过RestoreObject接口,且服务端正在执行解冻操作。请不要重复提交RestoreObject。

相关文档