调用PutBucketVersioning设置指定存储空间(Bucket)的版本控制状态。
注意事项
要配置版本控制,您必须有PutBucketVersioning权限。
Bucket包括未开启、开启(Enabled)或者暂停(Suspended)三种版本控制状态。默认情况下Bucket处于未开启版本控制状态。
在Bucket处于开启版本控制状态下,所有新添加的文件(Object)都将拥有唯一的版本ID,OSS将累积所添加Object的多个版本。
在Bucket处于暂停版本控制状态下,所有新添加Object的版本ID将为null,且OSS将不再为此状态下添加的Object累积更多的版本。
关于版本控制的更多信息,请参见版本控制概述。
请求语法
PUT /?versioning HTTP/1.1
Host: BucketName.oss-cn-hangzhou.aliyuncs.com
Date: GMT Date
Authorization: SignatureValue
<?xml version="1.0" encoding="UTF-8"?>
<VersioningConfiguration>
<Status>Enabled</Status>
</VersioningConfiguration>
当您在OSS ON云盒中调用该接口时,您需要将Host替换为云盒Endpoint。更多信息,请参见云盒Endpoint。
请求头
此接口仅涉及公共请求头。更多信息,请参见公共请求头(Common Request Headers)。
请求元素
名称 | 类型 | 是否必选 | 示例值 | 描述 |
VersioningConfiguration | 容器 | 是 | 不涉及 | 保存版本控制状态的容器。 子节点:Status 父节点:无 |
Status | 字符串 | 是 | Enabled | 版本控制状态。 父节点:VersioningConfiguration 有效值:
|
响应头
此接口仅涉及公共响应头。更多信息,请参见公共响应头(Common Response Headers)。
示例
开启版本控制请求示例
PUT /?versioning HTTP/1.1 Host: bucket-versioning.oss-cn-hangzhou.aliyuncs.com Date: Tue, 09 Apr 2019 02:20:12 GMT Authorization: OSS qn6q**************:77Dv**************** <?xml version="1.0" encoding="UTF-8"?> <VersioningConfiguration> <Status>Enabled</Status> </VersioningConfiguration>
返回示例
HTTP/1.1 200 OK x-oss-request-id: 5CAC015CB7AEADE01700**** Date: Tue, 09 Apr 2019 02:20:12 GMT Content-Length: 0 Connection: keep-alive Server: AliyunOSS
暂停版本控制请求示例
PUT /?versioning HTTP/1.1 Host: bucket-versioning.oss-cn-hangzhou.aliyuncs.com Date: Tue, 09 Apr 2019 02:28:18 GMT Authorization: OSS qn6q**************:77Dv**************** <?xml version="1.0" encoding="UTF-8"?> <VersioningConfiguration> <Status>Suspended</Status> </VersioningConfiguration>
返回示例
HTTP/1.1 200 OK x-oss-request-id: 5CAC0342B7AEADE01700**** Date: Tue, 09 Apr 2019 02:28:18 GMT Content-Length: 0 Connection: keep-alive Server: AliyunOSS
SDK
此接口所对应的各语言SDK如下:
错误码
错误码 | HTTP状态码 | 描述 |
AccessDenied | 403 | 无设置版本控制状态的操作权限。 |
InvalidArgument | 400 | 无效的Versioning状态。Versioning状态只能设置为Enabled或Suspended。 |