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

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

最終更新日:Feb 22, 2024

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

重要
  • このトピックでは、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 restore 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 restore 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 restore 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 restore 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シークレットを指定します。

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

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

同期コマンドに使用できるその他の一般的なオプションの詳細については、「オプションの表示」をご参照ください。

参考資料