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

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

最終更新日:Dec 19, 2024

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

使用上の注意

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

  • ossutil 1.6.16以降の場合、コマンドラインでossutilをバイナリ名として直接使用できます。 オペレーティングシステムに基づいてバイナリ名を更新する必要はありません。 1.6.16より前のossutilの場合、オペレーティングシステムに基づいてバイナリ名を更新する必要があります。 詳細は、「ossutilコマンドリファレンス」をご参照ください。

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

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

コマンド構文

ossutil restore 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-ignore-error]
[--retry-times <value>]
[-j, --job <value>]

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

パラメータ /オプション

説明

bucketname

復元するオブジェクトが保存されているバケットの名前。

プレフィックス

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

local_xml_ファイル

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

-- encoding-type

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

-- 支払人

リクエストの支払人。 指定されたパスのリソースにアクセスするリクエスタが、トラフィックやリクエスト料金など、操作によって発生する料金を支払うようにする場合は、このパラメーターをrequesterに設定します。

-- version-id

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

-r, -- recursive

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

-f, -- force

確認のプロンプトなしでコマンドを強制的に実行することを指定します。

-- object-file

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

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

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

説明

オブジェクトの1つに対して復元エラーが返された場合、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>
    <Days>3</Days>
</RestoreRequest>
  • 単一のアーカイブオブジェクトを復元する

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

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

      ossutil 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>
            <Days>3</Days>
        </RestoreRequest>
      3. アーカイブオブジェクトを復元します。

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

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

      • 方法 1

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

      • 方法 2

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

        ossutil restore oss:// examplebucket/dest -r config.xml
  • サンプル出力

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

    0.106852(s) elapsed

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

重要

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

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

<RestoreRequest>
    <Days>3</Days>
    <JobParameters>
        <Tier>Bulk</Tier>
    </JobParameters>
</RestoreRequest>

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

パラメーター

説明

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

有効な値: 1 ~ 365

階層

Cold Archiveオブジェクトの復元優先度。

有効な値:

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

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

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

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

    次のコマンドは、examplebucketバケット内のexampleobject.jpgオブジェクトを1時間以内に復元し、config.xmlファイルで指定された設定に基づいて3日間復元された状態を維持する方法の例を示します。

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

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

      examplebucketバケットの異なるディレクトリにある次のCold Archiveオブジェクトを復元するとします。ルートディレクトリには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日間オブジェクトを復元した状態に保つ方法の例を示します。

        ossutil 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オブジェクトを復元する方法の例を示します。

        ossutil restore oss:// examplebucket/dest -r config.xml
  • サンプル出力

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

    0.106852(s) elapsed

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

重要

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

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

<RestoreRequest>
    <Days>3</Days>
    <JobParameters>
        <Tier>Standard</Tier>
    </JobParameters>
</RestoreRequest>

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

パラメーター

説明

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

有効な値: 1 ~ 365

階層

Deep Cold Archiveオブジェクトの復元モード。

有効な値:

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

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

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

    次のコマンドは、config.xmlファイルで指定された設定に基づいて、48時間以内にexamplebucketバケットのexampleobject.jpgを復元し、3日間オブジェクトを復元した状態に保つ方法の例を示します。

    ossutil restore 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日間復元された状態を保持する方法の例を示します。

        ossutil 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オブジェクトを復元する方法の例を示します。

        ossutil restore oss:// examplebucket/dest -r config.xml
  • サンプル出力

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

    0.106852(s) elapsed

一般的なオプション

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

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

ossutil restore oss:// testbucket/exampletest.png -e oss-cn-shanghai.aliyuncs.com -i LTAI4Fw2NbDUCV8zYUzA **** -k 67DLVBkH7EamOjy2W5RVAHUY9H ****

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

関連ドキュメント