アーカイブオブジェクトのリアルタイムアクセスを有効にするか、復元後にアーカイブオブジェクトにアクセスできます。 リアルタイムアクセスは、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 | 一度に復元するアーカイブ、コールドアーカイブ、またはディープコールドアーカイブオブジェクトの名前を含むファイル。 このパラメーターを使用するには、次の手順を実行します。
説明 いずれかのオブジェクトに対して復元エラーが返された場合、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です。 オブジェクトを復元するには、次の手順を実行します。
復元するアーカイブオブジェクトの名前をlocalfile.txtファイルに書き込みます。
exampleobject1.jpg dir1/exampleobject2.png dir2/exampleobject3.txt
config.xmlファイルで、オブジェクトが3日間復元された状態のままであることを指定します。
<RestoreRequest> <日> 3</日> </RestoreRequest>
オブジェクトを復元します。
次のコマンドでは、-- 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 |
ティア | 復元モード。 有効な値:
|
単一の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オブジェクトを復元するとします。 オブジェクトを復元するには、次の手順を実行します。
復元するCold Archiveオブジェクトの名前をlocalfile.txtファイルに書き込みます。
exampleobject1.jpg dir1/exampleobject2.png dir2/exampleobject3.txt
オブジェクトを復元します。
次のコマンドでは、-- 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 |
ティア | 復元モード。 有効な値:
|
単一の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です。 オブジェクトを復元するには、次の手順を実行します。
Deep Cold Archiveオブジェクトの名前をlocalfile.txtファイルに書き込みます。
exampleobject1.jpg dir1/exampleobject2.png dir2/exampleobject3.txt
オブジェクトを復元します。
次のコマンドでは、-- 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 ****
同期コマンドに使用できるその他の一般的なオプションの詳細については、「オプションの表示」をご参照ください。
参考資料
オブジェクトが復元されたかどうかを確認する方法の詳細については、「stat」をご参照ください。
アーカイブされたオブジェクトに常に即座にアクセスできるようにする方法の詳細については、「オブジェクトを復元された状態で永続的に作成するにはどうすればよいですか? 」をご参照ください。