誤って上書きまたは削除された後にオブジェクトを以前のバージョンに復元できるようにするには、bucket-versioning コマンドを実行してバージョン管理を有効にします。Object Storage Service (OSS) では、バケットのバージョン管理を構成して、バケット内のオブジェクトを保護できます。バケットのバージョン管理を有効にすると、バケット内のオブジェクトは、上書きまたは削除されたときに以前のバージョンとして保存されます。
使用上の注意
バージョン管理を構成するには、
oss:PutBucketVersioning権限が必要です。バージョン管理ステータスを照会するには、oss:GetBucketVersioning権限が必要です。詳細については、「RAM ユーザーにカスタムポリシーをアタッチする」をご参照ください。
ossutil 1.6.16 以後では、コマンドラインでバイナリ名として ossutil を直接使用できます。オペレーティングシステムに基づいてバイナリ名を更新する必要はありません。 ossutil 1.6.16 より前のバージョンでは、オペレーティングシステムに基づいてバイナリ名を更新する必要があります。詳細については、「ossutil コマンドリファレンス」をご参照ください。
バージョン管理の詳細については、「バージョン管理」をご参照ください。
バージョン管理の構成
コマンド構文
ossutil bucket-versioning --method put oss://bucketname versioning次の表は、コマンド構文のパラメーターについて説明しています。
パラメーター
説明
bucketname
バージョン管理を構成するバケットの名前。
versioning
バケットのバージョン管理ステータス。有効な値:
enabled: バケットのバージョン管理を有効にします。オブジェクトがバージョン管理対応バケットにアップロードされると、OSS はランダムな文字列をオブジェクトのグローバルに一意なバージョン ID として生成します。詳細については、「バージョン管理対応バケット内のオブジェクトの管理」をご参照ください。
suspended: バケットのバージョン管理を一時停止します。オブジェクトがバージョン管理一時停止バケットにアップロードされると、OSS はアップロードされたオブジェクトのバージョン ID として null を生成します。詳細については、「バージョン管理一時停止バケット内のオブジェクトの管理」をご参照ください。
重要デフォルトでは、バケットのバージョン管理ステータスはバージョン管理なしです。バケットのバージョン管理が有効になると、バケットのバージョン管理ステータスをバージョン管理なしに戻すことはできません。ただし、バージョン管理対応バケットのバージョン管理を一時停止することはできます。
例
examplebucket という名前のバケットのバージョン管理を有効にするには、次のコマンドを実行します。
ossutil bucket-versioning --method put oss://examplebucket enabledexamplebucket という名前のバケットのバージョン管理を一時停止するには、次のコマンドを実行します。
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次のサンプル出力は、バージョン管理ステータスがバージョン管理なしであることを示しています。
bucket versioning status:Null 0.158691(s) elapsed
関連操作
バージョン管理対応バケットへのアップロードは、バージョン管理されていないバケットへのアップロードと同じように動作しますが、OSS はバージョン管理対応バケットにアップロードされたオブジェクトに対してグローバルに一意なバージョン ID を生成するという点が異なります。詳細については、「オブジェクトのアップロード」をご参照ください。
バケットのバージョン管理を有効にすると、バケット内で上書きまたは削除されたオブジェクトは以前のバージョンとして保存されます。バージョン ID を指定して、オブジェクトの指定されたバージョンをダウンロードできます。詳細については、「オブジェクトのダウンロード」をご参照ください。バージョン ID を指定して、オブジェクトの指定された以前のバージョンを復元できます。詳細については、「オブジェクトのコピー」をご参照ください。
共通オプション
ossutil を使用して別のリージョンにあるバケットに切り替える場合は、-e オプションを追加して、バケットが配置されているリージョンのエンドポイントを指定します。 ossutil を使用して別の Alibaba Cloud アカウントに属するバケットに切り替える場合は、-i オプションを追加して、指定されたアカウントの AccessKey ID を指定し、-k オプションを追加して、指定されたアカウントの AccessKey シークレットを指定します。
たとえば、次のコマンドを実行して、中国 (杭州) リージョンにあり、別の Alibaba Cloud アカウントが所有する examplebucket という名前のバケットのバージョン管理を有効にすることができます。
ossutil bucket-versioning--method put oss://examplebucket enabled -e oss-cn-hangzhou.aliyuncs.com -i yourAccessKeyID -k yourAccessKeySecret共通オプションの詳細については、「共通オプション」をご参照ください。