アーカイブおよびコールドアーカイブのオブジェクトは、読み取る前に解凍する必要があります。 このトピックでは、アーカイブおよびコールドアーカイブのオブジェクトを解凍する方法について説明します。
注意事項
Webpack や Browserify などのパッケージングツールを使用する場合は、npm install ali-oss コマンドを実行して OSS SDK for Browser.js をインストールします。
ブラウザから OSS バケットにアクセスする際に、そのバケットに CORS ルールが設定されていない場合、ブラウザはリクエストを拒否します。 したがって、ブラウザからバケットにアクセスするには、バケットに CORS ルールを設定する必要があります。 詳細については、「インストール」をご参照ください。
ほとんどの場合、OSS SDK for Browser.js はブラウザで使用されます。 AccessKey ペアの公開を防ぐため、セキュリティトークンサービス (STS) から取得した一時的なアクセス認証情報を使用して OSS にアクセスすることを推奨します。
一時的なアクセス認証情報は、AccessKey ペアとセキュリティトークンで構成されます。 AccessKey ペアは、AccessKey ID と AccessKey Secret で構成されます。 一時的なアクセス認証情報を取得する方法の詳細については、「STS を使用した一時的なアクセス権限付与」をご参照ください。
アーカイブオブジェクトの解凍
次のコードは、アーカイブオブジェクトを解凍する方法を示しています。
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8" />
<title>Document</title>
</head>
<body>
<button id='upload'>Upload</button>
<button id='restore'>Restore File</button>
<!--SDK ファイルをインポートします。-->
<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({
// バケットが所在するリージョンに region を設定します。 たとえば、バケットが中国 (杭州) リージョンにある場合、region を oss-cn-hangzhou に設定します。
region: 'yourRegion',
authorizationV4: true,
// STS から取得した一時的な AccessKey ID と AccessKey Secret。
accessKeyId: 'yourAccessKeyId',
accessKeySecret: 'yourAccessKeySecret',
// STS から取得したセキュリティトークン (SecurityToken)。
stsToken: 'yourSecurityToken',
// バケット名。 たとえば、examplebucket。
bucket: "examplebucket",
});
const upload = document.getElementById('upload')
const restore = document.getElementById('restore')
// アップロードするファイルの内容を指定します。
const file = new Blob(['examplecontent'])
// バケットに格納するオブジェクトの名前を指定します。
const fileName = 'example.txt'
// ファイルをアップロードし、ストレージクラスをアーカイブに設定します。
upload.addEventListener('click', () => {
client.put(fileName, file, {
headers: {
'x-oss-storage-class': 'Archive'
}
}).then(r => console.log(r))
})
// アーカイブオブジェクトを解凍します。
restore.addEventListener('click', () => {
client.restore(fileName).then(r => console.log(r))
})
</script>
</body>
</html>コールドアーカイブオブジェクトの解凍
次のコードは、コールドアーカイブオブジェクトを解凍する方法を示しています。
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8" />
<title>Document</title>
</head>
<body>
<button id='upload'>Upload</button>
<button id='restore'>Restore File</button>
<!--SDK ファイルをインポートします。-->
<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({
// バケットが所在するリージョンに region を設定します。 たとえば、バケットが中国 (杭州) リージョンにある場合、region を oss-cn-hangzhou に設定します。
region: 'yourRegion',
authorizationV4: true,
// STS から取得した一時的な AccessKey ID と AccessKey Secret。
accessKeyId: 'yourAccessKeyId',
accessKeySecret: 'yourAccessKeySecret',
// STS から取得したセキュリティトークン (SecurityToken)。
stsToken: 'yourSecurityToken',
// バケット名。 たとえば、examplebucket。
bucket: "examplebucket",
});
const upload = document.getElementById("upload");
const restore = document.getElementById("restore");
// アップロードするファイルの内容を指定します。
const file = new Blob(["examplecontent"]);
// バケットに格納するオブジェクトの名前を指定します。
const fileName = "example1.txt";
// ファイルをアップロードし、ストレージクラスをコールドアーカイブに設定します。
upload.addEventListener("click", () => {
client
.put(fileName, file, {
headers: {
"x-oss-storage-class": "ColdArchive",
},
})
.then((r) => console.log(r));
});
// 迅速: オブジェクトは 1 時間以内に解凍されます。
// 標準: オブジェクトは 2~5 時間以内に解凍されます。 JobParameters パラメーターを指定しない場合、デフォルトで標準が使用されます。
// 一括: オブジェクトは 5~12 時間以内に解凍されます。
// Days は、オブジェクトが解凍状態で保持される日数を指定します。 有効値の範囲は 1~7 です。
// コールドアーカイブオブジェクトを解凍します。
restore.addEventListener("click", () => {
client
.restore(fileName, {
type: "ColdArchive",
// 解凍優先度を指定します。
// 迅速: オブジェクトは 1 時間以内に解凍されます。
// 標準: オブジェクトは 2~5 時間以内に解凍されます。
// 一括: オブジェクトは 5~12 時間以内に解凍されます。
JobParameters: "Bulk",
// オブジェクトが解凍状態で保持される日数。 デフォルト値は 1 です。
Days: 2,
})
.then((r) => console.log(r));
});
</script>
</body>
</html>関連ドキュメント
アーカイブおよびコールドアーカイブのオブジェクトを解凍する方法を示す完全なコード例については、「GitHub の例」をご参照ください。
アーカイブおよびコールドアーカイブのオブジェクトを解凍するための API 操作の詳細については、「RestoreObject」をご参照ください。