すべてのプロダクト
Search
ドキュメントセンター

Object Storage Service:オブジェクトを復元する

最終更新日:Dec 19, 2023

読む前に、アーカイブまたはコールドアーカイブオブジェクトを復元する必要があります。 このトピックでは、アーカイブまたはコールドアーカイブオブジェクトを復元する方法について説明します。

使用状況ノート

  • 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」をご参照ください。