すべてのプロダクト
Search
ドキュメントセンター

Object Storage Service:バージョン管理の復元

最終更新日:Mar 21, 2026

revert-versioning を実行すると、バージョン管理が有効なバケット内で削除されたオブジェクトを、直近の以前のバージョンに復元できます。

仕組み

バージョン管理が有効な OSS バケットでオブジェクトを削除すると、OSS は削除マーカーを挿入し、それまでのすべてのバージョンを保持します。revert-versioning コマンドはこの削除マーカーを削除することで、直近の以前のバージョンを再度現在のバージョンとして復活させます。

注: revert-versioning は、現在のバージョンが削除マーカーであるオブジェクトに対してのみ有効です。オブジェクトが削除ではなく上書きされた場合、このコマンドは影響を与えません。

前提条件

作業を開始する前に、以下の要件を満たしていることを確認してください。

  • バージョン管理が有効な OSS バケット

  • 対象バケットに対する oss:ListObjectVersions 権限および oss:DeleteObjectVersion 権限。詳細については、「RAM ユーザーへのカスタムポリシーのアタッチ」をご参照ください。

  • ossutil がインストール済みであること。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復元対象のオブジェクトを含むバケットの名前。
prefix名前でオブジェクトおよびディレクトリをフィルターするためのプレフィックス。
--encoding-typeoss://bucketname の後に続くプレフィックスのエンコーディング方式。有効な値は url のみです。指定しない場合、プレフィックスはエンコードされません。
-r, --recursive指定されたプレフィックスに一致するすべてのオブジェクトを復元します。このオプションを指定しない場合、指定された単一のオブジェクトのみが復元されます。
--start-timeUNIX タイムスタンプ。この時刻より前に削除されたオブジェクトは復元されません。
--end-timeUNIX タイムスタンプ。この時刻より後に削除されたオブジェクトは復元されません。
--include指定されたパターンに一致するオブジェクトのみを復元します。詳細については、「--include および --exclude オプション」をご参照ください。
--exclude指定されたパターンに一致するオブジェクトをスキップします。詳細については、「--include および --exclude オプション」をご参照ください。
--payer操作の料金支払者。requester を指定すると、トラフィックおよびリクエスト料金がリクエスターに課金されます。

使用例

単一オブジェクトの復元

ossutil revert-versioning oss://examplebucket/exampleobject.jpg

プレフィックスを持つすべてのオブジェクトの復元

ossutil revert-versioning oss://examplebucket/destdir -r

バケット内のすべての削除済みオブジェクトの復元

ossutil revert-versioning oss://examplebucket -r

特定の時間範囲内で削除されたオブジェクトの復元

次のコマンドは、2020 年 6 月 16 日 16:22:58 ~ 16:39:38 (UTC + 08:00) の間に削除されたオブジェクトを復元します。

ossutil revert-versioning oss://examplebucket -r --start-time 1592295778 --end-time 1592296778

ファイル形式別でのオブジェクト復元

TXT 形式のオブジェクトのみを復元します。

ossutil revert-versioning oss://examplebucket --include "*.txt" -r

JPG 形式のオブジェクトを除くすべてのオブジェクトを復元します。

ossutil revert-versioning oss://examplebucket --exclude "*.jpg" -r

出力例

正常に実行された場合、復元されたオブジェクト数と経過時間が表示されます。

revert versioning object count is 10, batch list count is 10

0.066413(s) elapsed

別のリージョンまたはアカウントのバケットへのアクセス

別のリージョンにあるバケットにアクセスするには、-e オプションでそのバケットのエンドポイントを指定します。別の Alibaba Cloud アカウントが所有するバケットにアクセスするには、-i および -k オプションでそのアカウントの AccessKey ID および AccessKey Secret を指定します。

次のコマンドは、中国 (上海) リージョンにあり、別のアカウントが所有する testbucket 内の exampletest.png を復元します。

ossutil revert-versioning oss://testbucket/exampletest.png -e oss-cn-shanghai.aliyuncs.com -i yourAccessKeyID -k yourAccessKeySecret

次のステップ

  • 概要 — OSS におけるバージョン管理の仕組みについて学びます。

  • 削除マーカー — 削除マーカーがオブジェクトの取得に与える影響を理解します。