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

Object Storage Service:bucket-versioning

最終更新日:Dec 23, 2024

誤って上書きまたは削除されたオブジェクトを以前のバージョンに復元できるようにするには、bucket-versioningコマンドを実行してバージョン管理を有効にします。 Object Storage Service (OSS) では、バケット内のオブジェクトを保護するためにバケットのバージョン管理を設定できます。 バケットのバージョン管理を有効にすると、バケット内のオブジェクトは上書きまたは削除されると、以前のバージョンとして保存されます。

使用上の注意

  • バージョン管理を構成するには、oss:PutBucketVersioning権限が必要です。 バージョン管理ステータスを照会するには、oss:GetBucketVersioning権限が必要です。 詳細については、「RAMユーザーへのカスタムポリシーのアタッチ」をご参照ください。

  • ossutil 1.6.16以降の場合、コマンドラインでossutilをバイナリ名として直接使用できます。 オペレーティングシステムに基づいてバイナリ名を更新する必要はありません。 1.6.16より前のossutilの場合、オペレーティングシステムに基づいてバイナリ名を更新する必要があります。 詳細は、「ossutilコマンドリファレンス」をご参照ください。

  • バージョン管理の詳細については、「概要」をご参照ください。

バージョン管理の設定

  • コマンド構文

    ossutil bucket-versioning --method put oss://bucketname versioning

    次の表に、コマンド構文のパラメーターを示します。

    パラメーター

    説明

    bucketname

    バージョン管理を設定するバケットの名前。

    バージョン管理

    バケットのバージョン管理ステータス。 有効な値:

    • enabled: バケットのバージョン管理を有効にします。 オブジェクトがバージョン管理が有効なバケットにアップロードされると、オブジェクトのグローバルに一意なバージョンIDとしてランダムな文字列が生成されます。 詳細については、「バージョン管理が有効なバケット内のオブジェクトの管理」をご参照ください。

    • suspended: バケットのバージョン管理を一時停止します。 バージョン管理が一時停止されたバケットにオブジェクトがアップロードされると、アップロードされたオブジェクトに対してnullのバージョンIDが生成されます。 詳細については、「バージョン管理が一時停止されたバケット内のオブジェクトの管理」をご参照ください。

    重要

    デフォルトでは、バケットのバージョン管理ステータスはバージョン管理されていません。 バケットのバージョン管理を有効にすると、バケットのバージョン管理ステータスを未バージョンに戻すことはできません。 ただし、バージョン管理が有効なバケットのバージョン管理は一時停止できます。

  • 次のコマンドを実行して、examplebucketという名前のバケットのバージョン管理を有効にします。

    ossutil bucket-versioning --method put oss://examplebucket enabled

    次のコマンドを実行して、examplebucketという名前のバケットのバージョン管理を一時停止します。

    ossutil bucket-versioning --method put oss://examplebucket suspended

    次のサンプル出力は、バケットにバージョン管理が設定されていることを示します。

    0.261209(s) elapsed

バケットのバージョン管理ステータスの照会

  • コマンド構文

    ossutil bucket-versioning --method get oss://bucketname
  • 次のコマンドを実行して、examplebucketという名前のバケットのバージョン管理ステータスを照会します。

    ossutil bucket-versioning --method get oss://examplebucket

    次のサンプル出力は、バケットのバージョン管理が有効になっていることを示します。

    bucket versioning status:Enabled
    
    0.218001(s) elapsed

    次のサンプル出力は、バケットのバージョン管理が一時停止されていることを示します。

    bucket versioning status:Suspended
    
    0.168791(s) elapsed

    次のサンプル出力は、バージョン管理ステータスがunversioningであることを示します。

    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という名前のバケットのバージョン管理を有効にできます。

ossutil bucket-versioning--method put oss://examplebucket enabled -e oss-cn-hangzhou.aliyuncs.com -i LTAI4Fw2NbDUCV8zYUzA****  -k 67DLVBkH7EamOjy2W5RVAHUY9H****

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