文档中心 对象存储(KS3) API文档 Object相关 基本操作 Restore Object

Restore Object

最近更新时间:2024-02-20 17:10:06

描述

此接口仅用于对归档存储类型Object进行解冻。归档存储类型的Object解冻后才能进行访问,标准或低频存储类型的Object无需进行解冻。

解冻过程说明

解冻主要包括以下四种状态:

  • 冷冻状态:将文件上传到归档存储Bucket,文件自动存储为归档Object,处于冷冻状态。

  • 解冻中状态:对文件进行Restore操作后,服务端执行解冻,此时文件处于解冻中的状态,解冻任务完成需要1到10分钟。

  • 进入解冻状态:待服务端执行完成解冻任务后,Object进入解冻状态,此时用户可以读取Object。

  • 解冻状态结束:解冻状态结束后,Object又回到初始时的冷冻状态。

解冻时间说明

用户可设置解冻状态持续时间范围为1-7天。对于已处于解冻状态中的文件,可再次进行解冻操作,重新设置解冻持续时间,新设置的解冻持续时间将以当天为起始时间重新开始计算。

示例:用户在2023年4月15日10:30对某文件执行Restore操作,并设置文件的解冻天数为3天,则该文件在2023年4月18日10:30 前均可读取。假如用户在2023年4月17日11:00对该文件再次进行解冻操作,并重新设置解冻天数为6天,则该文件的读取时间将改为在2023年4月23日11:00 前均可读取。

计费说明

  • 对一个处于冷冻状态的Object执行Restore操作,会产生数据取回费用。

  • 归档类型Object在持续解冻期间不会重复收取数据取回费用。

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

  • 每次调用Restore Object接口,都会产生请求次数费用。

注意事项

  • 如果是对归档Object第一次调用Restore Object接口,则返回202。

  • 如果已经成功调用过Restore Object接口,且服务端解冻已经完成,再次调用时会返回200 OK。

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

请求

请求语法

POST /{ObjectKey}?restore HTTP/1.1
Host: {BucketName}.{endpoint}
Date: {date}
Authorization: {SignatureValue}

注意:

请求参数

该接口不使用请求参数。

请求头部

该接口可以使用所有常用请求头部。获取更多信息,请点击常用请求头部

请求体

一段描述Object解冻天数的XML:

名称

类型

是否必选

示例值

描述

RestoreRequest

容器

不涉及

解冻请求信息。

子节点:Days

Days

正整数

1

设置归档类型Object的解冻天数。

取值范围:1~7,单位为天。

父节点:RestoreRequest

注:请求可不带请求体,当不带请求体时,等同于带请求体时设置的解冻天数为1天。

响应

响应头部

该接口将返回公共响应头部。获取更多信息,请点击公共响应头

响应体

该接口响应体为空。

示例

首次提交请求示例

POST /restore_test.txt?restore HTTP/1.1
Host: test-arc-12.ks3-cn-shanghai-internal.ksyuncs.com
Date: Fri, 26 Dec 2018 06:34:32 GMT
Authorization: KSS authorization string
<RestoreRequest>
    <Days>2</Days>
</RestoreRequest>

响应示例

HTTP/1.1 202 Accepted
Server: KS3
Date: Fri, 26 Dec 2018 06:34:32 GMT
Content-Length: 0
Connection: keep-alive
X-Application-Context: application
x-kss-request-id: cb2a95d037794c0293be0a094375c047
x-kss-storage-class: ARCHIVE

在解冻操作未完成的情况下,再次提交请求示例

POST /restore_test.txt?restore HTTP/1.1
Host: test-arc-12.ks3-cn-shanghai-internal.ksyuncs.com
Date: Fri, 26 Dec 2018 06:35:02 GMT
Authorization: KSS authorization string
<RestoreRequest>
    <Days>3</Days>
</RestoreRequest>

响应示例

HTTP/1.1 409 Conflict
Server: KS3
Date: Fri, 26 Dec 2018 06:35:02 GMT
Content-Type: application/xml
Transfer-Encoding: chunked
Connection: keep-alive
X-Application-Context: application
x-kss-request-id: 79516a04224b423181f20f3dcbf2f416
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Error>
	<Code>RestoreAlreadyInProgress</Code>
	<Message>Object restore is already in progress.</Message>
	<Resource>/test-arc-12/restore_test1.txt?restore</Resource>
	<RequestId>79516a04224b423181f20f3dcbf2f416</RequestId>
</Error>

解冻后,第三次提交请求示例

POST /restore_test.txt?restore HTTP/1.1
Host: test-arc-12.ks3-cn-shanghai-internal.ksyuncs.com
Date: Fri, 26 Dec 2018 06:40:02 GMT
Authorization: KSS authorization string
<RestoreRequest>
    <Days>4</Days>
</RestoreRequest>

响应示例

HTTP/1.1 200 OK
Server: KS3
Date: Fri, 26 Dec 2018 06:40:02 GMT
Content-Length: 0
Connection: keep-alive
X-Application-Context: application
x-kss-request-id: 1d147c34a9d542aa8dc7f0f70d3db893
x-kss-storage-class: ARCHIVE

错误码

错误码

HTTP状态码

描述

InvalidObjectState

403 Forbidden

目标Object不是归档类型,不支持解冻。

NoSuchKey

404 Not Found

目标Object不存在。

RestoreAlreadyInProgress

409 Conflict

您已经成功调用过RestoreObject接口,且Object仍处于解冻中,请等待解冻完成。

MalformedXML

400 Bad Request

传入的解冻天数不是正整数。

InvalidArgument

400 Bad Request

传入的解冻天数超过阈值。

上一篇:POST Object
下一篇:POST Policy
以上内容是否对您有帮助?
有帮助
没帮助