revertコマンドを実行すると、バージョン管理が有効なバケット内の削除されたオブジェクトバージョンを最新の以前のバージョンに復元できます。
使用上の注意
削除されたオブジェクトバージョンを復元するには、
oss:GetObject、oss:PutObject、oss:ListObjectVersions、およびoss:DeleteObject権限が必要です。 詳細については、「RAMユーザーへのカスタムポリシーのアタッチ」をご参照ください。バージョン管理の詳細については、「バージョン管理」をご参照ください。
削除マーカーの詳細については、「マーカーの削除」をご参照ください。
コマンド構文
ossutil revert oss://bucket[/prefix] version-directive [flags]パラメーター | タイプ | 説明 |
version-ディレクティブ | String | 復元するオブジェクトの削除されたバージョン。 有効な値:
|
-d, -- dirs | / | 現在のディレクトリのオブジェクトとサブディレクトリが返されることを指定します。 |
-- encoding-type | String | オブジェクト名のエンコードに使用されるエンコード方法。 有効値: url |
-- end-with | String | -- end-withパラメーターの値の前または同じ名前のオブジェクトが返されるように指定します。 |
-除外 | stringArray | パスまたはオブジェクト名の除外ルール。 |
-- exclude-from | stringArray | 除外ルールをルールファイルから読み取ることを指定します。 |
-- files-から | stringArray | ソースオブジェクト名をルールファイルから読み取り、空の行またはコメント行を無視することを指定します。 |
-- files-from-raw | stringArray | ソースオブジェクト名をルールファイルから読み取ることを指定します。 |
-- フィルター | stringArray | パスまたはオブジェクト名のフィルタールール。 |
-- filter-from | stringArray | パスまたはオブジェクト名のフィルタールールをルールファイルから読み取ることを指定します。 |
-f、-- 力 | / | 確認のプロンプトなしでコマンドを強制的に実行することを指定します。 |
-- ignore-version-not-exist | / | 存在しないバージョンを示すエラーがバッチ操作で無視されることを指定します。 |
-含む | stringArray | パスまたはオブジェクト名の包含ルール。 |
-- include-from | stringArray | 包含ルールをルールファイルから読み取ることを指定します。 |
-最大年齢 | 有効期間 | 最終変更時刻が -- max-ageパラメーターの値より前のオブジェクトを復元しないように指定します。 デフォルトの単位は秒です。 単位は、ミリ秒、秒、分、時間、日、週、月、または年とすることができる。 デフォルトでは、このパラメータは空のままです。 |
-- min-mtime | 時間 | 最終変更時刻が -- min-mtimeパラメーターの値より前のオブジェクトは復元されません。 値はUTCです。 デフォルトでは、このパラメータは空のままです。 |
-- ページサイズ | int | 返されるオブジェクトの最大数。 デフォルト値は 1000 です。 有効な値: 1 ~ 1000 |
-r, -- recursive | / | コマンドがオブジェクトに対して再帰的に実行されることを指定します。 このパラメーターを指定すると、revertコマンドはバケット内の条件を満たすすべてのオブジェクトに対して有効になります。 それ以外の場合、revertコマンドは指定されたパス内のオブジェクトに対してのみ有効になります。 |
-- request-payer | String | リクエストの支払人。 pay-by-requesterがバケットに対して有効になっている場合、このパラメーターをrequesterに設定します。 有効値: requester。 |
-- start-after | String | -- start-afterパラメーターの値の後に名前がアルファベット順であるオブジェクトが返されることを指定します。 |
詳細については、「コマンドラインオプション」をご参照ください。
注: revertコマンドを実行してオブジェクトバージョンを削除し、オブジェクトを特定のオブジェクトバージョンに復元することはできません。 バージョンを削除してオブジェクトを特定のバージョンに復元するには、rmコマンドを実行します。 たとえば、次のコマンドを実行して、key123という名前のオブジェクトの3つの最新バージョンを削除できます。
ossutil rm oss://bucket/key123 --end-with key123 --limited-num 3 -rf --all-versions 例
単一オブジェクトの削除されたバージョンを復元する
examplebucketバケット内の削除されたexample.txtオブジェクトを、バージョンIDが123のバージョンに復元します。
ossutil revert oss://examplebucket/example.txt 123examplebucketバケット内の削除されたexample.txtオブジェクトを最新の以前のバージョンに復元します。
ossutil revert oss://examplebucket/example.txt HEAD~0examplebucketバケット内の削除されたexample.txtオブジェクトを4番目に新しいバージョンに復元します。
ossutil revert oss://examplebucket/example.txt HEAD~4examplebucketバケット内の削除されたexample.txtオブジェクトを前日の最新バージョンに復元します。
ossutil revert oss://examplebucket/example.txt NOW~1dexamplebucketバケット内の削除されたexample.txtオブジェクトを、最終変更時刻が2024-04-12T14:00:00以下の最新バージョンに復元します。
ossutil revert oss://examplebucket/example.txt NOW~2024-04-12T14:00:00
複数のオブジェクトの削除されたバージョンを復元する
examplebucketバケットのdirディレクトリにあるすべてのオブジェクトを、4番目に新しいバージョンに復元します。
ossutil revert oss://examplebucket/dir -r HEAD~4examplebucketバケットのdirディレクトリ内のすべてのオブジェクトを4番目に最近のバージョンに復元し、バージョンが存在しないことを示すエラーを無視します。
ossutil revert oss://examplebucket/dir -r HEAD~4 --ignore-version-not-existexamplebucketバケットのJPG形式のオブジェクトを除くすべてのオブジェクトを最新の以前のバージョンに復元します。
ossutil revert oss://examplebucket -r --exclude "*.jpg" HEAD~0サフィックスがあるすべてのオブジェクトを復元します。examplebucketバケットのdir1およびdir2ディレクトリにあるtxtを、最新バージョンまで
ossutil revert oss://examplebucket -r --include "/dir1/*.txt" --include "/dir2/*.txt" HEAD~0include_rules.txtファイルから包含ルールを読み取り、examplebucketのdirディレクトリにあるルールを満たすオブジェクトを4番目に新しい以前のバージョンに復元します。
include_rules.txtファイルには、次の内容が含まれています。*.log *.csvサンプルコマンド:
ossutil revert oss://examplebucket/dir -r HEAD~4 --include-from include_rules.txt