版本控制是针对存储空间(Bucket)级别的数据保护功能。开启版本控制后,针对数据的覆盖和删除操作将会以历史版本的形式保存下来。在对象(Object)被错误覆盖或者误删除后,您可以将Bucket中存储的Object恢复至任意时刻的历史版本。本文介绍通过bucket-versioning命令设置或获取版本控制状态。
注意事项
- 本文各命令行示例均基于Linux 64位系统,其他系统请将命令开头的./ossutil64替换成对应的Binary名称。详情请参见命令行工具ossutil快速入门。
- 关于版本控制的功能详情,请参见版本控制介绍。
设置版本控制状态
- 命令格式
./ossutil64 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开启版本控制。
./ossutil64 bucket-versioning --method put oss://examplebucket enabled
对目标存储空间examplebucket暂停版本控制。
./ossutil64 bucket-versioning --method put oss://examplebucket suspended
以下输出结果表明examplebucket已成功设置版本控制状态。
0.261209(s) elapsed
获取版本控制状态
- 命令格式
./ossutil64 bucket-versioning --method get oss://bucketname
- 使用示例
查询examplebucket的版本控制状态。
./ossutil64 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的存储空间开启版本控制,命令如下:
./ossutil64 bucket-versioning--method put oss://examplebucket enabled -e oss-cn-hangzhou.aliyuncs.com -i LTAI4Fw2NbDUCV8zYUzA**** -k 67DLVBkH7EamOjy2W5RVAHUY9H****
关于此命令的其他通用选项的更多信息,请参见通用选项。