読む前に、アーカイブまたはコールドアーカイブオブジェクトを復元する必要があります。 このトピックでは、アーカイブまたはコールドアーカイブオブジェクトを復元する方法について説明します。
使用状況ノート
WebpackやBrowserifyなどのパッケージングツールを使用する場合は、npm install ali-OSSコマンドを実行して、oss SDK for Browser.jsをインストールします。
ブラウザからOSSバケットにアクセスしたいが、バケットにCORSルールが設定されていない場合、ブラウザはリクエストを拒否します。 したがって、ブラウザからバケットにアクセスする場合は、バケットのCORSルールを設定する必要があります。 詳細については、「インストール」をご参照ください。
ほとんどの場合、ブラウザではOSS SDK for Browser.jsが使用されます。 AccessKeyペアが公開されないようにするには、Security Token Service (STS) から取得した一時的なアクセス資格情報を使用してOSSにアクセスすることを推奨します。
一時的なアクセス資格情報は、AccessKeyペアとセキュリティトークンで構成されます。 AccessKeyペアは、AccessKey IDとAccessKeyシークレットで構成されます。 一時的なアクセス資格情報を取得する方法の詳細については、「一時的なアクセス権限付与にSTSを使用する」をご参照ください。
Archive オブジェクトの復元
次のサンプルコードは、Archiveオブジェクトを復元する方法の例を示しています。
<!DOCTYPE html>
<html lang="en">
<ヘッド>
<meta charset="UTF-8" />
<title> ドキュメント </title>
</head>
<body>
<button id="upload"> オブジェクトのアップロード </button>
<button id='restore'> オブジェクトの復元 </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({
// バケットが配置されているリージョンを指定します。 たとえば、バケットが中国 (杭州) リージョンにある場合、リージョンをoss-cn-Hangzhouに設定します。
リージョン: 'yourRegion' 、
// Security Token Service (STS) から取得した一時的なAccessKeyペアを指定します。 AccessKeyペアは、AccessKey IDとAccessKeyシークレットで構成されます。
accessKeyId: 'yourAccessKeyId' 、
accessKeySecret: 'yourAccessKeySecret' 、
// STSから取得したセキュリティトークンを指定します。
stsToken: 'yourSecurityToken' 、
// バケットの名前を指定します。 例: examplebucket.
bucket: "examplebucket" 、
});
const upload = document.getElementById('upload')
const restore = document.getElementById('restore')
// アップロードするオブジェクトのコンテンツを指定します。
const file = new Blob(['examplectent'])
// バケットにアップロードするオブジェクトの名前を指定します。
const fileName = 'example.txt'
// オブジェクトをアップロードし、そのストレージクラスをアーカイブとして指定します。
upload.addEventListener('click', () => {
client.put(fileName, file, {
ヘッダー:{
「x-oss-storage-classs」: 「アーカイブ」
}
}).then(r => console.log(r)
})
// アーカイブオブジェクトを復元します。
restore.addEventListener('click', () => {
client.restore(fileName).then(r => console.log(r))
})
</script>
</body>
</html>
Cold Archiveオブジェクトを復元する
次のコードは、Cold Archiveオブジェクトを復元する方法の例を示しています。
<!DOCTYPE html>
<html lang="en">
<ヘッド>
<meta charset="UTF-8" />
<title> ドキュメント </title>
</head>
<body>
<button id="upload"> オブジェクトのアップロード </button>
<button id='restore'> オブジェクトの復元 </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({
// バケットが配置されているリージョンを指定します。 たとえば、バケットが中国 (杭州) リージョンにある場合、リージョンをoss-cn-Hangzhouに設定します。
リージョン: 'yourRegion' 、
// STSから取得した一時的なAccessKeyペアを指定します。 AccessKeyペアは、AccessKey IDとAccessKeyシークレットで構成されます。
accessKeyId: 'yourAccessKeyId' 、
accessKeySecret: 'yourAccessKeySecret' 、
// STSから取得したセキュリティトークンを指定します。
stsToken: 'yourSecurityToken' 、
// バケットの名前を指定します。 例: examplebucket.
bucket: "examplebucket" 、
});
const upload = document.getElementById("upload");
const restore = document.getElementById("restore");
// アップロードするオブジェクトのコンテンツを指定します。
const file = new Blob(["examplectent"]);
// バケットにアップロードするオブジェクトの名前を指定します。
const fileName = "example1.txt";
// オブジェクトをアップロードし、そのストレージクラスをコールドアーカイブとして指定します。
upload.addEventListener("click", () => {
client
. put(fileName, file, {
ヘッダー:{
"x-oss-storage-class": "ColdArchive" 、
},
})
. then((r) => console.log(r));
});
// Expedited: オブジェクトは1時間以内に復元されます。
// 標準: オブジェクトは2〜5時間以内に復元されます。 JobParametersパラメーターが渡されない場合、デフォルトの復元優先度はStandardです。
// バルク: オブジェクトは5〜12時間以内に復元されます。
// Daysは、オブジェクトが復元された状態を維持できる期間を指定します。 単位:日 有効な値: 1 ~ 7。
// Cold Archiveオブジェクトを復元します。
restore.addEventListener("click", () => {
client
. restore(fileName, {
タイプ: "ColdArchive" 、
// 復元の優先順位を指定します。
// Expedited: ファイルは1時間以内に復元されます。
// 標準: オブジェクトは2〜5時間以内に復元されます。
// バルク: オブジェクトは5〜12時間以内に復元されます。
JobParameters: "標準" 、
// オブジェクトが復元された状態を維持できる期間を指定します。 デフォルト値: 1日。
日: 2,
})
. then((r) => console.log(r));
});
</script>
</body>
</html>
参考資料
アーカイブオブジェクトまたはコールドアーカイブオブジェクトの復元に使用される完全なサンプルコードの詳細については、『GitHub』をご参照ください。
アーカイブまたはコールドアーカイブオブジェクトを復元するために呼び出すことができるAPI操作の詳細については、「RestoreObject」をご参照ください。