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

Object Storage Service:ファイル解凍 (Browser.js SDK)

最終更新日:Nov 30, 2025

アーカイブおよびコールドアーカイブのオブジェクトは、読み取る前に解凍する必要があります。 このトピックでは、アーカイブおよびコールドアーカイブのオブジェクトを解凍する方法について説明します。

注意事項

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