このトピックでは、revert-versioningコマンドを実行して、バージョン管理が有効なバケット内のオブジェクトを最新の以前のバージョンに復元する方法について説明します。
使用上の注意
オブジェクトバージョンを復元するには、
oss:ListObjectVersions
およびoss:DeleteObjectVersion
権限が必要です。 詳細については、「RAMユーザーへのカスタムポリシーのアタッチ」をご参照ください。このトピックでは、64ビットLinuxシステムに基づくサンプルコマンドラインを提供します。 他のシステムのために、取り替えて下さい./ossutil64対応するバイナリ名を持つコマンドで 詳細は、「ossutilコマンドリファレンス」をご参照ください。
コマンド構文
. /ossutil64 revert-versioning oss:// bucketname[/prefix]
[-- encoding-type <value>]
[-r, -- recursive]
[-- start-time <value> ]
[-- end-time <value>]
[-- include <value>]
[-- exclude <value>]
[-- payer <value>]
次の表に、構文のパラメーターとオプションを示します。
パラメータ /オプション | 説明 |
bucketname | 復元するオブジェクトを含むバケットの名前。 |
プレフィックス | ディレクトリやオブジェクトなどのリソース名のプレフィックス。 |
-- encoding-type |
|
-r, -- recursive | このオプションを指定すると、プレフィックスオプションで指定されたプレフィックスを名前に含むすべてのオブジェクトが、最新の以前のバージョンに復元されます。 このオプションを指定しない場合、ossutilは指定されたオブジェクトのみを最新の以前のバージョンに復元します。 |
-- 開始時間 | オブジェクトをフィルタリングする時間範囲の始まり。 この値は UNIX タイムスタンプです。 このオプションを指定すると、今回より前に削除されたオブジェクトは復元されません。 |
-終了時間 | オブジェクトをフィルタリングする時間範囲の終わり。 この値は UNIX タイムスタンプです。 このオプションを指定した場合、この時間以降に削除されたオブジェクトは復元されません。 |
-含める | 指定された条件を満たすすべてのオブジェクトを含みます。 詳細については、「」をご参照ください。オプション -- includeおよび -- exclude. |
-除外 | 指定された条件を満たすすべてのオブジェクトを除外します。 詳細については、「」をご参照ください。オプション -- includeおよび -- exclude. |
-- 支払人 | トラフィックとリクエスト料金の支払人。 指定したパスのリソースにアクセスするリクエスタにトラフィックとリクエスト料金を支払う場合は、このオプションをrequesterに設定します。 |
例
サンプルコマンド
examplebucketバケット内の削除されたexampleobject.jpgオブジェクトを最新の以前のバージョンに復元します。
./ossutil64 revert-versioning oss:// examplebucket/exampleobject.jpg
examplebucketバケットに格納され、名前に指定されたdestdirプレフィックスが含まれている複数の削除済みオブジェクトを、-rオプションを指定して最新の以前のバージョンに復元します。
./ossutil64 revert-versioning oss:// examplebucket/destdir -r
-rオプションを指定して、examplebucketバケット内のすべての削除されたオブジェクトを最新の以前のバージョンに復元します。
./ossutil64 revert-versioning oss:// examplebucket -r
特定の期間に削除されたオブジェクトを最新の以前のバージョンに復元します。
-rオプションを指定して、examplebucketバケットから以前のバージョンに6月16日2020 (UTC + 8) の16:22:58から16:39:38まで削除されたオブジェクトを復元します。
./ossutil64 revert-versioning oss:// examplebucket -r -- start-time 1592295778 -- end-time 1592296778
指定された条件を満たすすべての削除されたオブジェクトを最新の以前のバージョンに復元します。
-rオプションを指定して、examplebucketバケット内のすべての削除されたTXTオブジェクトを最新の以前のバージョンに復元します。
./ossutil64 revert-versioning oss:// examplebucket -- include "*.txt" -r
-rオプションを指定して、JPGオブジェクトを除くexamplebucketバケット内のすべての削除されたオブジェクトを最新の以前のバージョンに復元します。
./ossutil64 revert-versioning oss:// examplebucket -- exclude "*.jpg" -r
サンプル出力
指定されたオブジェクトが復元された後、復元されたオブジェクトの数とこれらのオブジェクトの復元に費やされた時間を示す結果が返されます。 例:
復帰バージョン管理オブジェクト数は10、バッチリスト数は10 0.066413経過
一般的なオプション
ossutilを使用して別のリージョンにあるバケットに切り替える場合は、コマンドに -eオプションを追加して、指定したバケットがあるリージョンのエンドポイントを指定します。 ossutilを使用して別のAlibaba Cloudアカウントに属するバケットに切り替える場合、コマンドに -iオプションを追加して、指定されたアカウントのAccessKey IDを指定し、コマンドに -kオプションを追加して、指定されたアカウントのAccessKey secretを指定します。
たとえば、次のコマンドを実行して、testbucketバケット内のexampletest.pngオブジェクトを最新の以前のバージョンに復元できます。 testbucketバケットは中国 (上海) リージョンにあり、別のAlibaba Cloudアカウントが所有しています。
./ossutil64 revert-versioning oss:// testbucket/exampletest.png -e oss-cn-shanghai.aliyuncs.com -i LTAI4Fw2NbDUCV8zYUzA **** -k 67DLVBkH7EamOjy2W5RVAHUY9H ****
共通オプションの詳細については、「共通オプション」をご参照ください。