Archive and Cold Archive objects must be restored before they can be read. This topic describes how to restore Archive and Cold Archive objects.
Usage notes
When you use packaging tools such as Webpack and Browserify, install OSS SDK for Browser.js by running the npm install ali-oss command.
If you want to access an OSS bucket from a browser but no CORS rules are configured for the bucket, the browser rejects the request. Therefore, you must configure CORS rules for a bucket if you want to access the bucket from a browser. For more information, see Installation.
In most cases, OSS SDK for Browser.js is used in browsers. To prevent your AccessKey pair from being exposed, we recommend that you use temporary access credentials obtained from Security Token Service (STS) to access OSS.
The temporary access credentials consist of an AccessKey pair and a security token. The AccessKey pair consists of an AccessKey ID and an AccessKey secret. For more information about how to obtain temporary access credentials, see Use STS for temporary access authorization.
Restore an Archive object
The following code shows how to restore an Archive object:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<title>Document</title>
</head>
<body>
<button id='upload'>Upload</button>
<button id='restore'>Restore File</button>
<!--Import the SDK file.-->
<script type="text/javascript" src="https://gosspublic.alicdn.com/aliyun-oss-sdk-6.18.0.min.js"></script>
<script type="text/javascript">
const client = new OSS({
// Set region to the region where the bucket is located. For example, if the bucket is in the China (Hangzhou) region, set region to oss-cn-hangzhou.
region: 'yourRegion',
authorizationV4: true,
// The temporary AccessKey ID and AccessKey secret obtained from STS.
accessKeyId: 'yourAccessKeyId',
accessKeySecret: 'yourAccessKeySecret',
// The security token (SecurityToken) obtained from STS.
stsToken: 'yourSecurityToken',
// The bucket name. For example, examplebucket.
bucket: "examplebucket",
});
const upload = document.getElementById('upload')
const restore = document.getElementById('restore')
// Specify the content of the file to upload.
const file = new Blob(['examplecontent'])
// Specify the name of the object to be stored in the bucket.
const fileName = 'example.txt'
// Upload the file and set its storage class to Archive.
upload.addEventListener('click', () => {
client.put(fileName, file, {
headers: {
'x-oss-storage-class': 'Archive'
}
}).then(r => console.log(r))
})
// Restore the Archive object.
restore.addEventListener('click', () => {
client.restore(fileName).then(r => console.log(r))
})
</script>
</body>
</html>Restore a Cold Archive object
The following code shows how to restore a Cold Archive object:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<title>Document</title>
</head>
<body>
<button id='upload'>Upload</button>
<button id='restore'>Restore File</button>
<!--Import the SDK file.-->
<script type="text/javascript" src="https://gosspublic.alicdn.com/aliyun-oss-sdk-6.18.0.min.js"></script>
<script type="text/javascript">
const client = new OSS({
// Set region to the region where the bucket is located. For example, if the bucket is in the China (Hangzhou) region, set region to oss-cn-hangzhou.
region: 'yourRegion',
authorizationV4: true,
// The temporary AccessKey ID and AccessKey secret obtained from STS.
accessKeyId: 'yourAccessKeyId',
accessKeySecret: 'yourAccessKeySecret',
// The security token (SecurityToken) obtained from STS.
stsToken: 'yourSecurityToken',
// The bucket name. For example, examplebucket.
bucket: "examplebucket",
});
const upload = document.getElementById("upload");
const restore = document.getElementById("restore");
// Specify the content of the file to upload.
const file = new Blob(["examplecontent"]);
// Specify the name of the object to be stored in the bucket.
const fileName = "example1.txt";
// Upload the file and set its storage class to ColdArchive.
upload.addEventListener("click", () => {
client
.put(fileName, file, {
headers: {
"x-oss-storage-class": "ColdArchive",
},
})
.then((r) => console.log(r));
});
// Expedited: The object is restored within 1 hour.
// Standard: The object is restored within 2 to 5 hours. If you do not specify the JobParameters parameter, Standard is used by default.
// Bulk: The object is restored within 5 to 12 hours.
// Days specifies the number of days that the object remains in the restored state. The valid range is 1 to 7.
// Restore the Cold Archive object.
restore.addEventListener("click", () => {
client
.restore(fileName, {
type: "ColdArchive",
// Specifies the restoration priority.
// Expedited: The object is restored within 1 hour.
// Standard: The object is restored within 2 to 5 hours.
// Bulk: The object is restored within 5 to 12 hours.
JobParameters: "Bulk",
// The number of days that the object remains in the restored state. The default value is 1.
Days: 2,
})
.then((r) => console.log(r));
});
</script>
</body>
</html>References
For complete code examples that show how to restore Archive and Cold Archive objects, see GitHub Examples.
For more information about the API operation for restoring Archive and Cold Archive objects, see RestoreObject.