如果您希望在错误覆盖或者删除对象(Object)后,能够将Object恢复至任意时刻的历史版本。您需要通过bucket-versioning命令开启版本控制。版本控制是针对Bucket级别的数据保护功能。开启版本控制后,针对数据的覆盖和删除操作将会以历史版本的形式保存下来。
注意事项
要设置版本控制状态,您必须具有
oss:PutBucketVersioning
权限;要获取版本控制状态,您必须具有oss:GetBucketVersioning
权限。具体操作,请参见为RAM用户授权自定义的权限策略。
从ossutil 1.6.16版本开始,命令行中Binary名称支持直接使用ossutil,您无需根据系统刷新Binary名称。如果您的ossutil版本低于1.6.16,则需要根据系统刷新Binary名称。更多信息,请参见命令行工具ossutil命令参考。
关于版本控制的功能详情,请参见版本控制概述。
当您在OSS ON云盒中使用该命令时:
将配置文件中的Endpoint替换为云盒Endpoint。更多信息,请参见云盒Endpoint。
在本文已有示例的基础上添加--sign-version、--region以及--cloudbox-id选项。关于这三个选项的具体用法,请参见通用选项。
设置版本控制状态
命令格式
ossutil bucket-versioning --method put oss://bucketname versioning
参数说明如下:
参数
说明
bucketname
待设置版本控制状态的目标Bucket名称。
versioning
为目标Bucket设置版本控制状态。取值如下:
enabled:开启版本控制。当Bucket处于开启版本控制状态时,OSS将为新上传的Object生成全局唯一的随机字符串版本ID。有关启用版本控制状态下Object相关操作的更多信息,请参见开启版本控制下Object的操作。
suspended:暂停版本控制。当Bucket处于暂停版本控制状态时,OSS将为新上传的Object生成特殊字符串为“null”的版本ID。有关暂停版本控制状态下Object的相关操作的更多信息,请参见暂停版本控制下Object的操作。
重要默认情况下,Bucket版本控制状态为“未开启”。一旦Bucket开启了版本控制,将无法返回至“未开启”状态。但是,您可以暂停Bucket版本控制。
使用示例
对目标存储空间examplebucket开启版本控制。
ossutil bucket-versioning --method put oss://examplebucket enabled
对目标存储空间examplebucket暂停版本控制。
ossutil bucket-versioning --method put oss://examplebucket suspended
以下输出结果表明examplebucket已成功设置版本控制状态。
0.261209(s) elapsed
获取版本控制状态
命令格式
ossutil bucket-versioning --method get oss://bucketname
使用示例
查询examplebucket的版本控制状态。
ossutil bucket-versioning --method get oss://examplebucket
以下输出结果表明examplebucket已开启版本控制。
bucket versioning status:Enabled 0.218001(s) elapsed
以下输出结果表明examplebucket已暂停版本控制。
bucket versioning status:Suspended 0.168791(s) elapsed
以下输出结果表明examplebucket未开启版本控制。
bucket versioning status:Null 0.158691(s) elapsed
相关操作
通用选项
当您需要通过命令行工具ossutil切换至另一个地域的Bucket时,可以通过-e选项指定该Bucket所属的Endpoint。当您需要通过命令行工具ossutil切换至另一个阿里云账号下的Bucket时,可以通过-i选项指定该账号的AccessKey ID,并通过-k选项指定该账号的AccessKey Secret。
例如您需要为另一个阿里云账号下,华东1(杭州)名为examplebucket的存储空间开启版本控制,命令如下:
ossutil bucket-versioning--method put oss://examplebucket enabled -e oss-cn-hangzhou.aliyuncs.com -i LTAI4Fw2NbDUCV8zYUzA**** -k 67DLVBkH7EamOjy2W5RVAHUY9H****
关于此命令的其他通用选项的更多信息,请参见通用选项。