ossutil restore コマンドを使用して、アーカイブ、コールドアーカイブ、またはディープコールドアーカイブストレージのオブジェクトを復元し、アクセス可能にします。このコマンドは OSS に復元ジョブを送信し、オブジェクトを解凍して、設定可能な日数だけ読み取り可能にします。
アーカイブ済みオブジェクトにアクセス可能にするための 2 つの方法:
一時的な解凍(このトピック):
ossutil restoreを実行して、オブジェクトを 1~365 日間解凍します。期間が終了したとき、オブジェクトは凍結ステータスに戻ります。永続的な移行:
ossutil cpを実行して、オブジェクトをアーカイブ以外のストレージクラスにコピーします。詳細については、「オブジェクトのストレージクラスを変更する」をご参照ください。
前提条件
操作を開始する前に、以下が満たされていることを確認してください。
単一のオブジェクトを復元するための
oss:RestoreObject権限オブジェクトをディレクトリ単位または一括で復元するための
oss:RestoreObjectおよびoss:ListObjects権限ossutil 1.7.11 以降(以前のバージョンでは
restoreコマンドは利用できません)
権限の設定については、「RAM ユーザーへのカスタムポリシーのアタッチ」をご参照ください。
ossutil のインストールとバイナリの命名規則については、「ossutil コマンドリファレンス」をご参照ください。
仕組み
復元時間は、ストレージクラスによって異なります:
| ストレージクラス | リアルタイムアクセス | 復元時間 | 最大解凍期間 |
|---|---|---|---|
| アーカイブ | サポート済み (有効な場合) | 約 1 分 | 7 日間 |
| コールドアーカイブ | 非サポート | 数時間 (階層による) | 365 日間 |
| ディープコールドアーカイブ | 非サポート | 12~48 時間 (階層による) | 365 日間 |
解凍時間は推定値であり、オブジェクトのサイズやシステム負荷によって変動する場合があります。課金の詳細については、「オブジェクトの解凍」をご参照ください。
コマンド構文
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 | オブジェクトが格納されているバケット。 |
prefix | バケット内のオブジェクト名と一致させるプレフィックス。ディレクトリパスなどを指定します。 |
local_xml_file | 解凍パラメーターを指定するローカル XML ファイル。コールドアーカイブおよびディープコールドアーカイブのオブジェクトには必須です。アーカイブオブジェクトにはオプションです。 |
--encoding-type | prefix 値のエンコーディングメソッド。有効な値: url。指定しない場合、プレフィックスはエンコードされません。 |
--payer | requester に設定すると、リクエスタ支払いモードが有効になります。このモードでは、リクエスタがトラフィック料金とリクエスト料金を支払います。 |
--version-id | 解凍するオブジェクトのバージョン ID。バージョン管理が有効または一時停止されているバケットにのみ適用されます。 |
-r, --recursive | 指定されたプレフィックスに名前が一致するすべてのオブジェクトを解凍します。このオプションを指定しない場合、指定されたオブジェクトのみが解凍されます。 |
-f, --force | 確認プロンプトを表示せずにコマンドを実行します。 |
--object-file | 解凍するオブジェクト名を 1 行に 1 つずつリストしたローカルの TXT または XML ファイル。あるオブジェクトでエラーが発生した場合、ossutil はエラーを記録し、残りのオブジェクトの解凍を続行します。解凍されたオブジェクトはレポートファイルには記録されません。 |
--snapshot-path | この操作に関与するオブジェクトのスナップショットのみを生成します。すでにスナップショットが存在するオブジェクトはスキップされます。-r, --recursive または --object-file と一緒に使用する必要があります。 |
--disable-ignore-error | バッチ解凍中にエラーを無視するのを停止します。 |
--retry-times | コマンドが失敗した後のリトライ回数。デフォルト: 10。有効な値の範囲: 1~500。 |
-j, --job | 同時解凍タスクの数。デフォルト: 3。有効な値の範囲: 1~10000。 |
アーカイブ オブジェクトの復元
OSS がアーカイブオブジェクトを解凍するには 1 分かかります。解凍処理中はオブジェクトを読み取ることはできません。
復元持続時間の動作:
デフォルトの復元持続時間: 1 日
すでに解凍済みのオブジェクトに対して
restoreを再度実行すると、持続時間が1日延長されます。最大復元持続時間: 7 日
期間が終了すると、オブジェクトは凍結ステータスに戻ります
任意で、オブジェクトを解凍状態で保持する日数を指定するための config.xml ファイルを作成します:
<RestoreRequest>
<Days>3</Days>
</RestoreRequest>単一のアーカイブ オブジェクトの復元
exampleobject.txt を examplebucket で復元し、解凍状態を 3 日間維持します:
ossutil restore oss://examplebucket/exampleobject.txt config.xmlオブジェクトの特定のバージョンを復元するには:
ossutil restore oss://examplebucket/exampleobject.txt --version-id CAEQARiBgID8rumR2hYiIGUyOTAyZGY2MzU5MjQ5ZjlhYzQzZjNlYTAyZDE3**** config.xmlオブジェクトのすべてのバージョンをリストするには、「ls」をご参照ください。
複数のアーカイブ オブジェクトの復元
--object-file を使用して異なるディレクトリのオブジェクトを復元する:
オブジェクト名を 1 行に 1 つずつ TXT ファイルに書き込みます。
exampleobject1.jpg dir1/exampleobject2.png dir2/exampleobject3.txtconfig.xmlで復元期間を設定します:<RestoreRequest> <Days>3</Days> </RestoreRequest>restore コマンドを実行します。
ossutil restore oss://examplebucket --object-file localfile.txt --snapshot-path dir/ config.xml
-r を使用してディレクトリ内のすべてのオブジェクトを復元する:
ossutil restore oss://examplebucket/dest -r config.xml想定される出力
成功した restore コマンドでは、経過時間が表示されます。
0.106852(s) elapsedコールドアーカイブオブジェクトの復元
コールドアーカイブオブジェクトの解凍時間はオブジェクトのサイズによって異なります。
コールドアーカイブオブジェクトを解凍する前に、解凍持続時間および取得ティアを含む config.xml ファイルを作成します。
<RestoreRequest>
<Days>3</Days>
<JobParameters>
<Tier>Bulk</Tier>
</JobParameters>
</RestoreRequest>緊急度に基づいて取得階層を選択します:
| 階層 | 復元時間 | 使用する状況 |
|---|---|---|
| 迅速 | 1 時間以内 | 緊急のアクセスが必要な場合 |
| 標準 | 2~5 時間 | 標準的な回復タイムライン |
| バルク | 5~12 時間 | 緊急でない場合 |
<Days> 有効値: 1~365。
単一のコールドアーカイブオブジェクトの復元
「exampleobject.jpg」を「examplebucket」から、config.xml で指定されたティアおよび持続時間で復元します:
ossutil restore oss://examplebucket/exampleobject.jpg config.xml複数のコールドアーカイブオブジェクトを復元する
`--object-file` を使用して異なるディレクトリ内のオブジェクトを復元する:
オブジェクト名を 1 行に 1 つずつ TXT ファイルに書き込みます。
exampleobject1.jpg dir1/exampleobject2.png dir2/exampleobject3.txtrestore コマンドを実行します:
ossutil restore oss://examplebucket --object-file localfile.txt --snapshot-path dir/ config.xml
-r を使用してディレクトリ内のすべてのオブジェクトを復元する:
ossutil restore oss://examplebucket/dest -r config.xml想定される出力
0.106852(s) elapsedディープコールドアーカイブストレージのオブジェクトの復元
ディープコールドアーカイブオブジェクトの解凍時間はオブジェクトのサイズによって異なります。
ディープコールドアーカイブストレージのオブジェクトを解凍する前に、解凍持続時間と取得ティアを含む config.xml ファイルを作成します。
<RestoreRequest>
<Days>3</Days>
<JobParameters>
<Tier>Standard</Tier>
</JobParameters>
</RestoreRequest>取得階層を選択します:
| 階層 | 復元時間 | 使用する状況 |
|---|---|---|
| 迅速 | 12 時間以内 | より高速なアクセスが必要な場合 |
| 標準 | 48 時間以内 | 標準的な回復タイムライン |
<Days> の有効な値: 1–365.
ディープコールドアーカイブストレージの単一のオブジェクトを復元する
config.xml で指定された階層と持続時間を使用して、examplebucket 内の exampleobject.jpg を復元します:
ossutil restore oss://examplebucket/exampleobject.jpg config.xmlディープコールドアーカイブストレージのオブジェクトを複数復元する
`--object-file` を使用した異なるディレクトリ内のオブジェクトの復元:
オブジェクト名を 1 行に 1 つずつ TXT ファイルに書き込みます。
exampleobject1.jpg dir1/exampleobject2.png dir2/exampleobject3.txt解凍コマンドを実行します。
ossutil restore oss://examplebucket --object-file localfile.txt --snapshot-path dir/ config.xml
-r を使用してディレクトリ内のすべてのオブジェクトを復元する:
ossutil restore oss://examplebucket/dest -r config.xml想定される出力
0.106852(s) elapsed復元ステータスを確認する
restore コマンドを実行した後、stat コマンドを使用して、オブジェクトが解凍状態であるかどうかを確認します:
ossutil stat oss://bucketname/objectname詳細については、「stat」をご参照ください。
共通オプション
別のリージョンまたは別の Alibaba Cloud アカウントの下にあるバケットを操作するには、-e、-i、および-k オプションを追加します:
ossutil restore oss://testbucket/exampletest.png \
-e oss-cn-shanghai.aliyuncs.com \
-i yourAccessKeyID \
-k yourAccessKeySecret| オプション | 説明 |
|---|---|
-e | バケットが配置されているリージョンのエンドポイント。 |
-i | ターゲットの Alibaba Cloud アカウントの AccessKey ID。 |
-k | ターゲットの Alibaba Cloud アカウントの AccessKey Secret。 |
利用可能なすべてのオプションについては、「共通オプション」をご参照ください。
次のステップ
オブジェクトを毎回解凍せずに永続的にアクセス可能にするには、アーカイブ以外のストレージクラスにコピーします。詳細については、「オブジェクトを永続的に解凍状態にするにはどうすればよいですか?」をご参照ください。
復元プロセスの詳細および課金については、「オブジェクトを復元する」をご参照ください。