É necessário restaurar objetos Archive e Cold Archive antes de lê-los. Este tópico descreve como restaurar esses objetos.
Observações de uso
Ao usar ferramentas de empacotamento como Webpack e Browserify, instale o OSS SDK for Browser.js executando o comando npm install ali-oss.
O navegador rejeita requisições a buckets do OSS sem regras CORS configuradas. Portanto, configure as regras CORS no bucket para permitir o acesso via navegador. Para mais informações, consulte Instalação.
-
Como o OSS SDK for Browser.js é usado principalmente em navegadores, use credenciais de acesso temporárias obtidas pelo Security Token Service (STS) para evitar a exposição do par de AccessKey.
As credenciais de acesso temporárias incluem um par de AccessKey e um token de segurança. O par de AccessKey contém um AccessKey ID e um AccessKey secret. Para obter credenciais de acesso temporárias, consulte Usar STS para autorização de acesso temporário.
Restaurar um objeto Archive
O código a seguir mostra como restaurar um objeto Archive:
<!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>
Restaurar um objeto Cold Archive
O código a seguir mostra como restaurar um objeto Cold Archive:
<!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>
Referências
Para exemplos completos de código sobre restauração de objetos Archive e Cold Archive, consulte os Exemplos no GitHub.
Para mais informações sobre a operação de API de restauração de objetos Archive e Cold Archive, consulte RestoreObject.