調用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>
要求標頭
此介面僅涉及公用要求標頭。更多資訊,請參見公用要求標頭(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。 |