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

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

最終更新日:Dec 06, 2024

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

使用上の注意

  • 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">

<head>
  <meta charset="UTF-8" />
  <title>Document</title>
</head>

<body>
  <button id="upload">Upload an Object</button>
  <button id='restore'>Restore an Object</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({
       // Specify the region in which the bucket is located. For example, if the bucket is located in the China (Hangzhou) region, set the region to oss-cn-hangzhou. 
       region: 'yourRegion',
       authorizationV4: true,
       // Specify the temporary AccessKey pair obtained from Security Token Service (STS). The AccessKey pair consists of an AccessKey ID and an AccessKey secret. 
       accessKeyId: 'yourAccessKeyId',
       accessKeySecret: 'yourAccessKeySecret',
       // Specify the security token obtained from STS. 
       stsToken: 'yourSecurityToken',
       // Specify the name of the bucket. Example: examplebucket. 
       bucket: "examplebucket",
    });

    const upload = document.getElementById('upload')
    const restore = document.getElementById('restore')

    // Specify the content of the object to upload. 
    const file = new Blob(['examplecontent'])
    // Specify the name of the object to upload to the bucket. 
    const fileName = 'example.txt'

    // Upload the object and specify its storage class as 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>

Cold Archiveオブジェクトを復元する

次のコードは、Cold Archiveオブジェクトを復元する方法の例を示しています。

<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8" />
  <title>Document</title>
</head>

<body>
  <button id="upload">Upload an Object</button>
  <button id='restore'>Restore an Object</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({
       // Specify the region in which the bucket is located. For example, if the bucket is located in the China (Hangzhou) region, set the region to oss-cn-hangzhou. 
       region: 'yourRegion',
       authorizationV4: true,
       // Specify the temporary AccessKey pair obtained from STS. The AccessKey pair consists of an AccessKey ID and an AccessKey secret. 
       accessKeyId: 'yourAccessKeyId',
       accessKeySecret: 'yourAccessKeySecret',
       // Specify the security token obtained from STS. 
       stsToken: 'yourSecurityToken',
       // Specify the name of the bucket. Example: examplebucket. 
       bucket: "examplebucket",
    });

      const upload = document.getElementById("upload");
      const restore = document.getElementById("restore");

      // Specify the content of the object to upload. 
      const file = new Blob(["examplecontent"]);
      // Specify the name of the object to upload to the bucket. 
      const fileName = "example1.txt";

      // Upload the object and specify its storage class as Cold Archive. 
      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 the JobParameters parameter is not passed in, the default restoration priority is Standard. 
      // Bulk: The object is restored within 5 to 12 hours. 
      // Days specifies the duration in which the object can remain in the restored state. Unit: days. Valid values: 1 to 7. 
      // Restore the Cold Archive object. 
      restore.addEventListener("click", () => {
        client
          .restore(fileName, {
            type: "ColdArchive",
            // Specify the restoration priority. 
            // Expedited: The file 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",
            // Specifies the duration in which the object can remain in the restored state. Default value: 1 day. 
            Days: 2,
          })
          .then((r) => console.log(r));
      });
    </script>
  </body>
</html>

関連ドキュメント

  • アーカイブオブジェクトまたはコールドアーカイブオブジェクトの復元に使用される完全なサンプルコードの詳細については、『GitHub』をご参照ください。

  • アーカイブまたはコールドアーカイブオブジェクトを復元するために呼び出すことができるAPI操作の詳細については、「RestoreObject」をご参照ください。