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

Object Storage Service:bucket-versioning

最終更新日:Aug 07, 2024

誤って上書きまたは削除されたオブジェクトを以前のバージョンに復元できるようにするには、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****

共通オプションの詳細については、「共通オプション」をご参照ください。