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 once its retention period expires.
By default, this operation returns the latest version of an object. If the object has a delete 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.
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>
Parameter |
Description |
Mandatory |
---|---|---|
versionId |
Version ID of the Cold object to be restored Type: string |
No |
This request uses common headers. For details, see Table 3.
Element |
Description |
Mandatory |
---|---|---|
RestoreRequest |
Container for the restore 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: integer |
Yes |
RestoreJob |
Container for the restore options Type: container |
No |
Tier |
Restore options: Expedited | Standard Expedited indicates that objects can be quickly restored from Archive storage within 1 to 5 minutes. Standard indicates that objects can be restored from Archive storage within 3 to 5 hours. The default value is Standard. Type: string |
No |
1 2 | HTTP/1.1 status_code Date: date |
The response to the request uses common headers. For details, see Table 1.
This response contains no elements.
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 in the Cold storage. ErrorMessage: Restore is not allowed, as object's storage class is not COLD |
403 Forbidden |
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> |
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 |