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

Object Storage Service:restoreコマンドを使用してオブジェクトを復元する

最終更新日:May 06, 2024

アーカイブオブジェクトのリアルタイムアクセスを有効にするか、復元後にアーカイブオブジェクトにアクセスできます。 リアルタイムアクセスは、Cold ArchiveオブジェクトとDeep Cold Archiveオブジェクトではサポートされていません。 Cold ArchiveオブジェクトとDeep Cold Archiveオブジェクトは、復元後にのみアクセスできます。 ほとんどの場合、アーカイブオブジェクトの復元は完了するまでに数分かかり、コールドアーカイブオブジェクトの復元は完了するまでに数時間かかり、ディープコールドアーカイブオブジェクトの復元は完了するまでに12〜48時間かかります。 与えられた回復時間は参照用である。 復元時間は、実際のシナリオに基づいて変化し得る。 このトピックでは、restoreコマンドを実行してオブジェクトを復元する方法について説明します。

使用上の注意

  • 単一のオブジェクトを復元するには、oss:RestoreObject権限が必要です。 ディレクトリごとにオブジェクトを復元するには、oss:RestoreObjectおよびoss:ListObjects権限が必要です。 詳細については、「RAMユーザーへのカスタムポリシーのアタッチ」をご参照ください。

  • このトピックでは、64ビットLinuxシステムに基づくサンプルコマンドラインを提供します。 他のシステムのために、取り替えて下さい./ossutil64対応するバイナリ名を持つコマンドで 詳細は、「ossutilコマンドリファレンス」をご参照ください。

  • 復元プロセスと課金ルールの詳細については、「オブジェクトの復元」をご参照ください。

  • restoreコマンドはossutil 1.7.11以降でサポートされています。

コマンド構文

. /ossutil64復元oss:// bucketname[/prefix][local_xml_file]
[-- encoding-type <value>]
[-- payer <value>]
[-- version-id <value>]
[-r, -- recursive]
[-f, -- force]
[-- object-file, <value>]
[-- snapshot-path, <value>]
[-- disable-無視-エラー]
[-- retry-times <value>]
[-j, -- job <value>] 

次の表に、コマンド構文のパラメーターとオプションを示します。

パラメータ /オプション

説明

bucketname

バケットの名前です。

プレフィックス

バケット内のリソースのプレフィックス (ディレクトリやオブジェクトなど) 。

local_xml_ファイル

Cold Archiveオブジェクトを復元するためのパラメーターを格納するローカルXMLファイル。

-- encoding-type

プレフィックスパラメーターの値をエンコードするために使用されるメソッド。 有効値: url このオプションを指定しない場合、プレフィックスはエンコードされません。

-- 支払人

リクエストの支払人。 指定したパスのリソースにアクセスするリクエスタにトラフィックとリクエスト料金を支払う場合は、このオプションをrequesterに設定します。

-- version-id

オブジェクトのバージョンID。 このパラメーターは、バージョン管理が有効または一時停止されているバケット内のオブジェクトにのみ適用されます。

-r, -- recursive

このオプションを指定すると、バケット内の指定されたプレフィックスを名前に含むすべてのオブジェクトが復元されます。 このオプションを指定しないと、指定されたオブジェクトのみが復元されます。

-f, -- force

確認のプロンプトなしで復元操作を強制することを指定します。

-- object-file

一度に復元するアーカイブ、コールドアーカイブ、またはディープコールドアーカイブオブジェクトの名前を含むファイル。 このオプションを使用するには、次の手順を実行します。

  1. ローカルTXTまたはXMLファイルを指定します。 次に、ファイルに復元するすべてのオブジェクトの名前を、各オブジェクト名を別々の行に入力します。

  2. -- object-fileをローカルのTXTまたはXMLファイルの名前に設定し、コマンドを実行します。 ossutilは、ローカルファイル内のすべてのオブジェクト名を読み取り、オブジェクトを復元します。

説明

いずれかのオブジェクトに対して復元エラーが返された場合、ossutilはそのオブジェクトに関するエラー情報をレポートファイルに記録し、他のオブジェクトの復元を続行します。 復元されたオブジェクトに関する情報はレポートファイルに記録されません。

-- snapshot-path

このオプションを指定した場合、ossutilはこの操作に関連するオブジェクトに対してのみスナップショットを生成します。 この操作に関連するオブジェクトのスナップショットがすでに生成されている場合、この操作ではオブジェクトのスナップショットは再生成されません。

説明

このオプションは、-r、-- recursiveまたは -- object-fileと共に使用する必要があります。

-- disable-無視-エラー

バッチ操作でエラーが無視されないように指定します。

-- retry-times

エラーが発生した場合のリトライ回数を指定します。 デフォルト値は 10 です。 有効な値: 1 ~ 500

-j, -- job

複数のオブジェクトで実行される同時タスクの数。 有効な値: 1 ~ 10000 デフォルト値: 3。

アーカイブオブジェクトの復元

アーカイブオブジェクトの復元には1分かかります。 オブジェクトの復元中にオブジェクトを読み取ることはできません。

デフォルトでは、復元されたオブジェクトは1日間復元された状態のままです。 すでに復元済みの状態にあるオブジェクトに対してrestoreコマンドを実行すると、復元済みの状態は1日延長されます。 復元されたオブジェクトを復元された状態で最大7日間維持できます。 復元された状態の期間が終了すると、オブジェクトは凍結状態に戻る。

説明

cpコマンドを実行して、オブジェクトのストレージクラスを変更できます。 詳細については、「オブジェクトのストレージクラスの変更」をご参照ください。

アーカイブオブジェクトを復元するときに、オプションでconfig.xmlファイルを作成し、ファイル内でオブジェクトを復元した状態のままにする日数を指定できます。 次のサンプルコードに例を示します。

<RestoreRequest>
    <日> 3</日>
</RestoreRequest> 
  • 単一のアーカイブオブジェクトを復元する

    • 次のサンプルコードは、examplebucketバケットでexampleobject.txtという名前のArchiveオブジェクトを復元し、そのオブジェクトを復元された状態で3日間維持する方法の例を示しています。

      ./ossutil64 oss:// examplebucket/exampleobject.txt config.xmlを復元する
    • 次のサンプルコードは、examplebucketバケット内のexampleobject.txtという名前の指定されたバージョンのアーカイブオブジェクトを復元する方法の例を示しています。

      ./ossutil64の復元oss:// examplebucket/exampleobject.txt -- version-id CAEQARiBgID8rumR2hYiIGUyOTAyZGY2MzU5MjQ5ZjlhYzQzZjNlYTAyZDE3 **** config.xml

      オブジェクトのすべてのバージョンを一覧表示する方法の詳細については、「Is」をご参照ください。

  • 一度に複数のアーカイブオブジェクトを復元する

    • 例1: 異なるディレクトリに複数のアーカイブオブジェクトを復元する

      examplebucketバケット内の異なるディレクトリに次のArchiveオブジェクトを復元するとします。ルートディレクトリにはexampleobject1.jpg、dir1 /ディレクトリにはexampleobject2.png、dir2 /ディレクトリにはexampleobject3.txtです。 オブジェクトを復元するには、次の手順を実行する必要があります。

      1. 復元するアーカイブオブジェクトの名前をlocalfile.txtファイルに書き込みます。

        exampleobject1.jpg
        dir1/exampleobject2.png
        dir2/exampleobject3.txt 
      2. config.xmlファイルで、オブジェクトが3日間復元された状態のままであることを指定します。

        <RestoreRequest>
            <日> 3</日>
        </RestoreRequest> 
      3. アーカイブオブジェクトを復元します。

        次のコマンドでは、-- object-fileオプションを使用して、examplebucketで複数のアーカイブオブジェクトを復元する方法の例を示します。

        ./ossutil64復元oss:// examplebucket -- object-file localfile.txt -- snapshot-path dir/ config.xml
    • 例2: 同じディレクトリ内の複数のアーカイブオブジェクトを復元する

      • 方法 1

        バケット内の同じディレクトリにある複数のアーカイブオブジェクトを復元する手順は、例1: 異なるディレクトリにある複数のアーカイブオブジェクトを復元するで説明した手順と同様です。

      • 方法 2

        次のコマンドでは、-rオプションを使用してexamplebucketのdestディレクトリにあるすべてのArchiveオブジェクトを復元する方法の例を示します。

        ./ossutil64の復元oss:// examplebucket/dest -r config.xml
  • Output

    上記のコマンドが成功した場合、次のような行がコマンド出力に含まれ、復元時間が消費されたことを示します。

    0.106852経過

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

重要

Cold Archiveオブジェクトの復元に必要な時間は、オブジェクトのサイズによって異なります。

1つ以上のCold Archiveオブジェクトを復元する前に、XMLファイルconfig.xmlをローカルに作成し、ファイルに次のパラメーターを設定する必要があります。

<RestoreRequest>
    <日> 3</日>
    <JobParameters>
        <Tier> バルク </Tier>
    </JobParameters>
</RestoreRequest> 

下表に、各パラメーターを説明します。

パラメーター

説明

復元されたCold Archiveオブジェクトを復元された状態で保持する期間。 単位:日

有効な値: 1 ~ 365

ティア

復元モード。

有効な値:

  • 迅速: オブジェクトは1時間以内に復元されます。

  • 標準: オブジェクトは2〜5時間で復元されます。

  • Bulk: オブジェクトは5〜12時間で復元されます。

  • 単一のCold Archiveオブジェクトを復元する

    examplebucketのexampleobject.jpgオブジェクトを1時間以内に復元し、config.xmlファイルで指定された設定に基づいて3日間復元された状態を維持します。

    ./ossutil64の復元oss:// examplebucket/exampleobject.jpg config.xml
  • 一度に複数のCold Archiveオブジェクトを復元する

    • 例1: 異なるディレクトリにある複数のCold Archiveオブジェクトを復元する

      examplebucketバケット内の別のディレクトリにある、ルートディレクトリにexampleobject1.jpg、dir1 /ディレクトリにexampleobject2.png、dir2 /ディレクトリにexampleobject3.txtオブジェクトを復元するとします。 オブジェクトを復元するには、次の手順を実行する必要があります。

      1. 復元するCold Archiveオブジェクトの名前をlocalfile.txtファイルに書き込みます。

        exampleobject1.jpg
        dir1/exampleobject2.png
        dir2/exampleobject3.txt 
      2. オブジェクトを復元します。

        次のコマンドでは、-- object-fileオプションを使用してexamplebucketバケット内の複数のCold Archiveオブジェクトを1時間以内に復元し、config.xmlファイルで指定された設定に基づいて3日間オブジェクトを復元した状態に保つ方法の例を示します。

        ./ossutil64復元oss:// examplebucket -- object-file localfile.txt -- snapshot-path dir/ config.xml
    • 例2: 同じディレクトリ内の複数のCold Archiveオブジェクトを復元する

      • 方法 1

        バケット内の同じディレクトリにある複数のCold Archiveオブジェクトを復元する手順は、例1: 異なるディレクトリにある複数のCold Archiveオブジェクトを復元するの手順と同様です。

      • 方法 2

        次のコマンドでは、-rオプションを使用してexamplebucketバケット内のdestディレクトリにあるすべてのCold Archiveオブジェクトを復元する方法の例を示します。

        ./ossutil64の復元oss:// examplebucket/dest -r config.xml
  • Output

    上記のコマンドが成功した場合、次のような行がコマンド出力に含まれ、復元時間が消費されたことを示します。

    0.106852経過

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

重要

Deep Cold Archiveオブジェクトの復元に必要な時間は、オブジェクトのサイズによって異なります。

1つ以上のDeep Cold Archiveオブジェクトを復元する前に、XMLファイルconfig.xmlをローカルに作成し、ファイルに次のパラメーターを設定する必要があります。

<RestoreRequest>
    <日> 3</日>
    <JobParameters>
        <Tier> スタンダード </Tier>
    </JobParameters>
</RestoreRequest> 

下表に、各パラメーターを説明します。

パラメーター

説明

復元されたDeep Cold Archiveオブジェクトを復元された状態で保持する期間。 単位:日

有効な値: 1 ~ 365

ティア

復元モード。

有効な値:

  • 迅速: オブジェクトは12時間以内に復元されます。

  • 標準: オブジェクトは48時間以内に復元されます。

  • 単一のDeep Coldアーカイブオブジェクトを復元する

    examplebucketバケットでexampleobject.jpgを48時間以内に復元し、config.xmlファイルで指定された設定に基づいて3日間オブジェクトを復元した状態にします。

    ./ossutil64の復元oss:// examplebucket/exampleobject.jpg config.xml
  • 一度に複数のDeep Cold Archiveオブジェクトを復元する

    • 例1: 異なるディレクトリにある複数のDeep Cold Archiveオブジェクトを復元する

      examplebucketバケット内の異なるディレクトリにあるDeep Cold Archiveオブジェクトを復元するとします。ルートディレクトリにはexampleobject1.jpg、dir1 /ディレクトリにはexampleobject2.png、dir2 /ディレクトリにはexampleobject3.txtです。 オブジェクトを復元するには、次の手順を実行する必要があります。

      1. Deep Cold Archiveオブジェクトの名前をlocalfile.txtファイルに書き込みます。

        exampleobject1.jpg
        dir1/exampleobject2.png
        dir2/exampleobject3.txt 
      2. オブジェクトを復元します。

        次のコマンドでは、-- object-fileパラメーターを使用して48時間以内にexamplebucketバケット内の複数のDeep Cold Archiveオブジェクトを復元し、config.xmlファイルで指定された設定に基づいて3日間オブジェクトを復元状態に維持する方法の例を示します。

        ./ossutil64復元oss:// examplebucket -- object-file localfile.txt -- snapshot-path dir/ config.xml
    • 例2: 同じディレクトリ内の複数のDeep Cold Archiveオブジェクトを復元する

      • 方法 1

        バケット内の同じディレクトリにある複数のDeep Cold Archiveオブジェクトを復元する手順は、例1: 異なるディレクトリにある複数のDeep Cold Archiveオブジェクトを復元するの手順と同様です。

      • 方法 2

        次のコマンドでは、-rオプションを使用してexamplebucket内のdestディレクトリにあるすべてのDeep Cold Archiveオブジェクトを復元する方法の例を示します。

        ./ossutil64の復元oss:// examplebucket/dest -r config.xml
  • Output

    上記のコマンドが成功した場合、次のような行がコマンド出力に含まれ、復元時間が消費されたことを示します。

    0.106852経過

一般的なオプション

ossutilを使用して別のリージョンにあるバケットに切り替える場合は、コマンドに -eオプションを追加して、指定したバケットがあるリージョンのエンドポイントを指定します。 ossutilを使用して別のAlibaba Cloudアカウントに属するバケットに切り替える場合、コマンドに -iオプションを追加して、指定されたアカウントのAccessKey IDを指定し、コマンドに -kオプションを追加して、指定されたアカウントのAccessKey secretを指定します。

たとえば、次のコマンドを実行して、中国 (上海) リージョンにあり、別のAlibaba Cloudアカウントが所有するtestbucketバケットでexampletest.pngという名前のオブジェクトを復元できます。

./ossutil64の復元oss:// testbucket/exampletest.png -e oss-cn-shanghai.aliyuncs.com -i LTAI4Fw2NbDUCV8zYUzA **** -k 67DLVBkH7EamOjy2W5RVAHUY9H ****

共通オプションの詳細については、「共通オプション」をご参照ください。

参考資料