調用PutBucketObjectWormConfiguration介面在Bucket上啟用對象層級保留原則(ObjectWorm),並可選配置預設保留原則。此操作無法復原,一旦為Bucket啟用ObjectWorm,將無法關閉。
注意事項
該功能目前為邀測功能,如需使用,請聯絡支援人員申請開通。當前僅支援華東1(杭州)、西南1(成都)、華南1(深圳)、華南3(廣州)、華北1(青島)、華北2(北京)、華北5(呼和浩特)、華南2(河源)、中國香港、德國(法蘭克福)、日本(東京)、韓國(首爾)、新加坡、馬來西亞(吉隆坡)、印尼(雅加達)、菲律賓(馬尼拉)、泰國(曼穀)、沙特(利雅得)、阿聯酋(杜拜)地區。
此操作無法復原。一旦為Bucket啟用對象層級保留原則,將無法關閉ObjectWorm功能,同時也將無法關閉Bucket的版本控制功能。
調用該介面前,Bucket必須已開啟版本控制。如果未開啟版本控制,調用將返回錯誤。
ObjectWorm與Bucket層級保留原則(BucketWorm)互斥,不支援同時開啟。如果Bucket已開啟BucketWorm,調用將返回錯誤。
預設保留原則為可選配置。如果設定了預設保留原則,後續新上傳的檔案將自動應用該策略。存量檔案不會自動生效,需通過PutObjectRetention介面單獨設定。
開啟ObjectWorm後,不支援Append上傳方式。
需要給相關使用者授予
oss:PutObjectRetention和oss:GetObjectRetention許可權後才可完成檔案讀寫。
請求文法
PUT /?objectWorm HTTP/1.1
Content-MD5: ContentMD5
Content-Length: ContentLength
Content-Type: application/xml
Host: BucketName.oss-cn-hangzhou.aliyuncs.com
Date: GMT Date
Authorization: SignatureValue要求標頭
參數名稱 | 類型 | 是否必選 | 樣本值 | 描述 |
Content-MD5 | 字串 | 是 | B2M2Y8AsgTpgAmY7PhC**** | 請求體的MD5雜湊值,用於資料完整性校正。 |
Content-Length | 正整數 | 是 | 188 | 請求體的長度。 |
請求元素
名稱 | 類型 | 是否必須 | 樣本值 | 描述 |
ObjectWormConfiguration | 容器 | 是 | 不涉及 | 配置Bucket對象層級保留原則的容器。 父節點:無 子節點:ObjectWormEnabled、Rule |
ObjectWormEnabled | 字串 | 是 | Enabled | 啟用對象層級保留原則。取值固定為 父節點:ObjectWormConfiguration |
Rule | 容器 | 否 | 不涉及 | 儲存Bucket對象層級預設保留原則的容器。 父節點:ObjectWormConfiguration 子節點:DefaultRetention |
DefaultRetention | 容器 | 否 | 不涉及 | 預設保留原則的容器。 父節點:Rule 子節點:Mode、Days、Years |
Mode | 字串 | 否 | COMPLIANCE | Bucket對象層級保留原則的預設保留模式。取值:
父節點:DefaultRetention |
Days | 正整數 | 否 | 1 | 預設保留天數,取值範圍為1~36500。 父節點:DefaultRetention |
Years | 正整數 | 否 | 1 | 預設保留年數,取值範圍為1~100。Days和Years只能選擇其一進行設定。 父節點:DefaultRetention |
樣本
樣本1:開啟ObjectWorm並設定預設合規保留原則
以下樣本為Bucket開啟ObjectWorm並設定預設保留原則為合規模式保留1天。
請求樣本
PUT /?objectWorm HTTP/1.1 Date: Thu, 17 Mar 2026 11:18:32 GMT Content-Length: 188 Content-Type: application/xml Content-MD5: B2M2Y8AsgTpgAmY7PhC**** Host: examplebucket.oss-cn-hangzhou.aliyuncs.com Authorization: OSS4-HMAC-SHA256 Credential=LTAI********************/20260317/cn-hangzhou/oss/aliyun_v4_request,AdditionalHeaders=content-length,Signature=a7c3554c729d**** <?xml version="1.0" encoding="UTF-8"?> <ObjectWormConfiguration> <ObjectWormEnabled>Enabled</ObjectWormEnabled> <Rule> <DefaultRetention> <Mode>COMPLIANCE</Mode> <Days>1</Days> </DefaultRetention> </Rule> </ObjectWormConfiguration>返回樣本
HTTP/1.1 200 OK x-oss-request-id: 5374A2880232A65C2300**** Date: Thu, 17 Mar 2026 11:18:32 GMT Content-Length: 0 Server: AliyunOSS
樣本2:僅開啟ObjectWorm不設定預設策略
以下樣本僅為Bucket開啟ObjectWorm,不設定預設保留原則。後續可通過PutObjectRetention介面為單個Object單獨設定保留原則。
請求樣本
PUT /?objectWorm HTTP/1.1 Date: Thu, 17 Mar 2026 11:18:32 GMT Content-Length: 102 Content-Type: application/xml Content-MD5: C3N3Z9BthUpgBnZ8QiD**** Host: examplebucket.oss-cn-hangzhou.aliyuncs.com Authorization: OSS4-HMAC-SHA256 Credential=LTAI********************/20260317/cn-hangzhou/oss/aliyun_v4_request,Signature=**** <?xml version="1.0" encoding="UTF-8"?> <ObjectWormConfiguration> <ObjectWormEnabled>Enabled</ObjectWormEnabled> </ObjectWormConfiguration>返回樣本
HTTP/1.1 200 OK x-oss-request-id: 6485B3990232A65C3400**** Date: Thu, 17 Mar 2026 11:20:15 GMT Content-Length: 0 Server: AliyunOSS
錯誤碼
錯誤碼 | HTTP狀態代碼 | 描述 |
InvalidBucketState | 409 | Bucket未開啟版本控制,無法啟用ObjectWorm。請先開啟版本控制後重試。 |
BucketWormAlreadyEnabled | 409 | 該Bucket已開啟桶層級保留原則(BucketWorm),不支援同時開啟對象層級保留原則(ObjectWorm)。 |