このトピックでは、revert-versioningコマンドを実行して、バージョン管理が有効なバケット内のオブジェクトを最新の以前のバージョンに復元する方法について説明します。
使用上の注意
オブジェクトバージョンを復元するには、
oss:ListObjectVersions
およびoss:DeleteObjectVersion
権限が必要です。 詳細については、「RAMユーザーへのカスタムポリシーのアタッチ」をご参照ください。ossutil 1.6.16以降の場合、コマンドラインでossutilをバイナリ名として直接使用できます。 オペレーティングシステムに基づいてバイナリ名を更新する必要はありません。 1.6.16より前のossutilの場合、オペレーティングシステムに基づいてバイナリ名を更新する必要があります。 詳細は、「ossutilコマンドリファレンス」をご参照ください。
コマンド構文
ossutil 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オブジェクトを最新の以前のバージョンに復元します。
ossutil revert-versioning oss://examplebucket/exampleobject.jpg
examplebucketバケットに格納され、名前に指定されたdestdirプレフィックスが含まれている複数の削除済みオブジェクトを、-rオプションを指定して最新の以前のバージョンに復元します。
ossutil revert-versioning oss://examplebucket/destdir -r
-rオプションを指定して、examplebucketバケット内のすべての削除されたオブジェクトを最新の以前のバージョンに復元します。
ossutil revert-versioning oss://examplebucket -r
特定の期間に削除されたオブジェクトを最新の以前のバージョンに復元します。
-rオプションを指定して、examplebucketバケットから以前のバージョンに6月16日2020 (UTC + 8) の16:22:58から16:39:38まで削除されたオブジェクトを復元します。
ossutil revert-versioning oss://examplebucket -r --start-time 1592295778 --end-time 1592296778
指定された条件を満たすすべての削除されたオブジェクトを最新の以前のバージョンに復元します。
-rオプションを指定して、examplebucketバケット内のすべての削除されたTXTオブジェクトを最新の以前のバージョンに復元します。
ossutil revert-versioning oss://examplebucket --include "*.txt" -r
-rオプションを指定して、JPGオブジェクトを除くexamplebucketバケット内のすべての削除されたオブジェクトを最新の以前のバージョンに復元します。
ossutil revert-versioning oss://examplebucket --exclude "*.jpg" -r
サンプル出力
成功応答には、復元されたオブジェクトの数と、これらのオブジェクトを復元するのにかかる時間が含まれます。 例:
revert versioning object count is 10, batch list count is 10 0.066413(s) elapsed
一般的なオプション
ossutilを使用して別のリージョンにあるバケットに切り替える場合は、-eオプションを追加して、バケットが配置されているリージョンのエンドポイントを指定します。 ossutilを使用して別のAlibaba Cloudアカウントに属するバケットに切り替える場合、-iオプションを追加して指定されたアカウントのAccessKey IDを指定し、-kオプションを追加して指定されたアカウントのAccessKey secretを指定します。
たとえば、次のコマンドを実行して、testbucketバケット内のexampletest.pngオブジェクトを最新の以前のバージョンに復元できます。 testbucketバケットは中国 (上海) リージョンにあり、別のAlibaba Cloudアカウントが所有しています。
ossutil revert-versioning oss://testbucket/exampletest.png -e oss-cn-shanghai.aliyuncs.com -i LTAI4Fw2NbDUCV8zYUzA**** -k 67DLVBkH7EamOjy2W5RVAHUY9H****
共通オプションの詳細については、「共通オプション」をご参照ください。