Updated on 2026-01-16 GMT+08:00

Restoring a Specific Cold Object Version

You can call ObsClient.restoreObject to restore a Cold object version by specifying VersionId.

This example specifies versionId to restore Cold object destobjectname in destbucketname as a Standard object.

The example code is as follows:

// Create an ObsClient instance.
var obsClient = new ObsClient({
    // Hard-coded or plaintext AK/SK are risky. For security purposes, encrypt your AK/SK and store them in the configuration file or environment variables. In this example, the AK/SK are stored in environment variables for identity authentication. Before running this example, configure environment variables AccessKeyID and SecretAccessKey.
    // The front-end code does not have the process environment variable, so you need to use a module bundler like webpack to define the process variable.
    // Obtain an AK/SK pair on the management console.    access_key_id: process.env.AccessKeyID,
    secret_access_key: process.env.SecretAccessKey,
    server: 'https://your-endpoint'
});

obsClient.restoreObject({
       Bucket : 'bucketname',
       Key : 'objectname',
       VersionId : 'versionid',
       Days : 1,
       // Restore a versioned object at an expedited speed.
       Tier : obsClient.enums.RestoreTierExpedited
}, function (err, result) {
       if(err){
              console.log('Error-->' + err);
       }else{
              console.log('Status-->' + result.CommonMsg.Status);
       }
});

To prolong the validity period of the Cold data restored, you can repeatedly restore the data, but you will be billed for each restoration. After a second restore, the validity period of Standard object copies will be prolonged, and you need to pay for storing these copies during the prolonged period.