Reviewed-by: gtema <artem.goncharov@gmail.com> Co-authored-by: Jawei, Li <lijiawei5@huawei.com> Co-committed-by: Jawei, Li <lijiawei5@huawei.com>
15 KiB
Restoring Cold Objects
Functions
To obtain the content of an object in the Cold storage class, you need to restore the object first and then you can download it. After an object is restored, a copy of the object is saved in the Standard storage class. By doing so, the object in the Cold storage class and its copy in the Standard storage class co-exist in the bucket. The copy will be automatically deleted upon the expiration of its retention period.
Versioning
By default, this operation returns the latest version of an object. If the object has a deletion marker, status code 404 is returned. To restore an object of a specified version, the versionId parameter can be used to specify the desired version.
Request Syntax
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>
Request Parameters
Parameter |
Description |
Mandatory |
---|---|---|
versionId |
Version ID of the Cold object to be restored Type: string |
No |
Request Headers
This request uses common headers. For details, see Table 3.
Request Elements
Element |
Description |
Mandatory |
---|---|---|
RestoreRequest |
Container for restoration information Type: container |
Yes |
Days |
Indicates the storage duration of the restored object. The minimum value is 1 and the maximum value is 30. Type: positive integer |
Yes |
RestoreJob |
Container for restoring options Type: container |
No |
Tier |
Restoring options: Expedited | Standard Expedited indicates that data can be restored within 1 to 5 minutes. Standard indicates that the data can be restored within 3 to 5 hours. The default value is Standard. Type: string |
No |
Response Syntax
1 2 | HTTP/1.1 status_code
Date: date
|
Response Headers
The response to the request uses common headers. For details, see Table 1.
Response Elements
This response involves no elements.
Error Responses
Error Code |
Description |
HTTP Status Code |
---|---|---|
RestoreAlreadyInProgress |
The object is being restored. The request conflicts with another. ErrorMessage: Object restore is already in progress |
409 Conflict |
ObjectHasAlreadyRestored |
The objects have been restored and the retention period of the objects cannot be shortened. ErrorMessage: After restoring an archived object, you cannot shorten the restoration period of the archived object |
409 Conflict |
MalformedXML |
Invalid value for the Days field (not an integer) ErrorMessage: The XML you provided was not well-formed or did not validate against our published schema |
400 Bad Request |
InvalidArgument |
The value of the Days field is not within the range of 1 to 30. ErrorMessage: restoration days should be at least 1 and at most 30 |
400 Bad Request |
MalformedXML |
Invalid value for the Tier field. ErrorMessage: The XML you provided was not well-formed or did not validate against our published schema |
400 Bad Request |
InvalidObjectState |
The restored object is not a Cold object. ErrorMessage: Restore is not allowed, as object's storage class is not COLD |
403 Forbidden |
Sample Request
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>
|
Sample Response
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
|