PutBucketVersioning

调用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

有效值:

  • Enabled:开启版本控制状态

  • Suspended:暂停版本控制状态

响应头

此接口仅涉及公共响应头。更多信息,请参见公共响应头(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状态只能设置为EnabledSuspended。