版本控制是针对存储空间(Bucket)级别的数据保护功能。开启版本控制后,针对数据的覆盖和删除操作将会以历史版本的形式保存下来。在对象(Object)被错误覆盖或者误删除后,您可以将Bucket中存储的Object恢复至任意时刻的历史版本。本文介绍通过bucket-versioning命令设置或获取版本控制状态。
设置版本控制状态
- 命令格式
./ossutil64 bucket-versioning --method put oss://bucket_name versioning_parameter
参数说明如下:
参数 说明 bucket_name 待设置版本控制状态的目标Bucket名称。 versioning_parameter 为目标Bucket设置版本控制状态。取值如下: - enabled:开启版本控制。当Bucket处于开启版本控制状态时,OSS将为新上传的Object生成全局唯一的随机字符串版本ID。有关启用版本控制状态下Object相关操作的更多信息,请参见开启版本控制。
- suspended:暂停版本控制。当Bucket处于暂停版本控制状态时,OSS将为新上传的Object生成特殊字符串为“null”的版本ID。有关暂停版本控制状态下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://bucket_name
- 使用示例
查询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。
./ossutil64 bucket-versioning--method put oss://examplebucket enabled -e oss-cn-hangzhou.aliyuncs.com -i LTAI4Fw2NbDUCV8zYUzA**** -k 67DLVBkH7EamOjy2W5RVAHUY9H****
有关此命令其他通用选项的更多信息,请参见通用选项。