誤って上書きまたは削除されたオブジェクトを以前のバージョンに復元できるようにするには、bucket-versioningコマンドを実行してバージョン管理を有効にします。 Object Storage Service (OSS) では、バケット内のオブジェクトを保護するためにバケットのバージョン管理を設定できます。 バケットのバージョン管理を有効にすると、バケット内のオブジェクトは上書きまたは削除されると、以前のバージョンとして保存されます。
使用上の注意
バージョン管理を構成するには、
oss:PutBucketVersioning
権限が必要です。 バージョン管理ステータスを照会するには、oss:GetBucketVersioning
権限が必要です。 詳細については、「RAMユーザーへのカスタムポリシーのアタッチ」をご参照ください。このトピックでは、64ビットLinuxシステムで動作するサンプルコマンドラインを提供します。 他のシステムのために、取り替えて下さい./ossutil64対応するバイナリ名を持つコマンドで 詳細は、「ossutilコマンドリファレンス」をご参照ください。
バージョン管理の詳細については、「概要」をご参照ください。
バージョン管理の設定
コマンド構文
./ossutil64 bucket-versioning --method put oss://bucketname versioning
次の表に、上記の構文のパラメーターを示します。
パラメーター
説明
bucketname
バージョン管理を設定するバケットの名前。
バージョン管理
バケットのバージョン管理ステータス。 有効な値:
enabled: バケットのバージョン管理が有効になっています。 オブジェクトがバージョン管理が有効なバケットにアップロードされると、オブジェクトのグローバルに一意なバージョンIDとしてランダムな文字列が生成されます。 詳細については、「バージョン管理が有効なバケット内のオブジェクトの管理」をご参照ください。
suspended: バケットのバージョン管理が一時停止されています。 バージョン管理が一時停止されたバケットにオブジェクトがアップロードされると、アップロードされたオブジェクトに対してnullのバージョンIDが生成されます。 詳細については、「バージョン管理が一時停止されたバケット内のオブジェクトの管理」をご参照ください。
重要デフォルトでは、バケットのバージョン管理ステータスは無効になっています。 バケットのバージョン管理を有効にすると、バケットのバージョン管理ステータスを無効に戻すことはできません。 ただし、バージョン管理が有効なバケットのバージョン管理は一時停止できます。
例
次のコマンドを実行して、examplebucketという名前のバケットのバージョン管理を有効にします。
./ossutil64 bucket-versioning --method put oss://examplebucket enabled
次のコマンドを実行して、examplebucketという名前のバケットのバージョン管理を一時停止します。
./ossutil64 bucket-versioning --method put oss://examplebucket suspended
次のサンプル出力は、バケットにバージョン管理が設定されていることを示します。
0.261209(s) elapsed
バケットのバージョン管理ステータスの照会
コマンド構文
./ossutil64 bucket-versioning --method get oss://bucketname
例
次のコマンドを実行して、examplebucketという名前のバケットのバージョン管理ステータスを照会します。
./ossutil64 bucket-versioning --method get oss://examplebucket
次のサンプル出力は、バケットのバージョン管理が有効になっていることを示します。
bucket versioning status:Enabled 0.218001(s) elapsed
次のサンプル出力は、バケットのバージョン管理が一時停止されていることを示します。
bucket versioning status:Suspended 0.168791(s) elapsed
次のサンプル出力は、バケットがバージョン管理されていないことを示します。
bucket versioning status:Null 0.158691(s) elapsed
関連する API 操作
バージョン管理が有効なバケットにオブジェクトをアップロードする方法は、OSSがバージョン管理が有効なバケット内のオブジェクトに対してグローバルに一意なバージョンIDを生成することを除いて、バージョン管理が有効なバケットにオブジェクトをアップロードする方法と同じです。 詳細については、「オブジェクトのアップロード」をご参照ください。
バケットのバージョン管理を有効にすると、バケット内で上書きまたは削除されたオブジェクトは以前のバージョンとして保存されます。 バージョンIDを指定して、指定したバージョンのオブジェクトをダウンロードできます。 詳しくは、「オブジェクトのダウンロード」をご参照ください。 バージョンIDを指定すると、オブジェクトの指定された以前のバージョンを復元できます。 詳細については、「オブジェクトのコピー」をご参照ください。
一般的なオプション
ossutilを使用して別のリージョンにあるバケットに切り替える場合は、コマンドに -eオプションを追加して、指定したバケットがあるリージョンのエンドポイントを指定します。 ossutilを使用して別のAlibaba Cloudアカウントに属するバケットに切り替える場合、コマンドに -iオプションを追加して、指定されたアカウントのAccessKey IDを指定し、コマンドに -kオプションを追加して、指定されたアカウントのAccessKey secretを指定します。
たとえば、次のコマンドを実行して、中国 (杭州) リージョンにあり、別のAlibaba Cloudアカウントが所有するexamplebucketという名前のバケットのバージョン管理を有効にできます。
./ossutil64 bucket-versioning--method put oss://examplebucket enabled -e oss-cn-hangzhou.aliyuncs.com -i LTAI4Fw2NbDUCV8zYUzA**** -k 67DLVBkH7EamOjy2W5RVAHUY9H****
共通オプションの詳細については、「共通オプション」をご参照ください。