文档中心>对象存储

PUT Bucket ObjectLockConfiguration

最近更新时间:2024-10-15 19:06:11

我的收藏

功能描述

COS 支持对存储桶开启对象锁定功能,并可以配置相应的默认保留周期。通过 PUT Bucket ObjectLockConfiguration 接口,可实现以下两个功能:
1. 为存储桶开启对象锁定功能。此时,代表着该存储桶内可以使用对象锁定功能,用户可以根据需要选择性为存储桶内的对象添加锁定。上传后添加锁定可参见 PUT Object Retention、上传时添加锁定可参见 PUT Object
注意:
存储桶的对象锁定功能开启后不支持关闭。
2. 已开启对象锁定功能后,支持为该存储桶配置默认保留周期。当用户上传对象未携带对象锁定头部时,会自动根据默认保留周期设置相应的保留期限。详情可参考 对象锁定概述
注意:
默认保留周期是一个可选配置,支持修改、关闭。
修改默认保留周期,不会影响存量对象的锁定状态,只会影响后续新增对象。

请求

请求示例

PUT /?object-lock HTTP/1.1
Host: <BucketName-APPID>.cos.<Region>.myqcloud.com
Date: GMT Date
Authorization: Auth String
说明:
Host: <BucketName-APPID>.cos.<Region>.myqcloud.com,其中 <BucketName-APPID> 为带 APPID 后缀的存储桶名字,例如 examplebucket-1250000000,可参阅 存储桶概览 > 基本信息存储桶概述 > 存储桶命名规范 文档;<Region> 为 COS 的可用地域,可参阅 地域和访问域名 文档。
Authorization: Auth String(详情请参见 请求签名 文档)。

请求头

此接口仅使用公共请求头部,详情请参见 公共请求头部 文档。

请求体

<ObjectLockConfiguration>
<ObjectLockEnabled>Enabled</ObjectLockEnabled>
<Rule>
<DefaultRetention>
<Mode>COMPLIANCE</Mode>
<Days>30</Days>
</DefaultRetention>
</Rule>
</ObjectLockConfiguration>
具体数据描述如下:
节点名称(关键字)
父节点
描述
类型
是否必选
ObjectLockConfiguration
对象锁定配置
Container
ObjectLockEnabled
ObjectLockConfiguration
是否开启对象锁定,仅支持传入 Enabled。对象锁定开启后不支持关闭
String
Rule
ObjectLockConfiguration
对象锁定规则
Container
DefaultRetention
ObjectLockConfiguration.Rule
存储桶的对象锁定默认保留周期和模式,未携带锁定头部的对象遵循桶配置设置保留期限。存储桶配置支持删除、修改
Container
Days
ObjectLockConfiguration.Rule.DefaultRetention
对象锁定默认周期时长(范围为1-36500)
Int
Mode
ObjectLockConfiguration.Rule.DefaultRetention
对象锁定默认模式,仅支持枚举值COMPLIANCE。若不填入此字段,默认为COMPLIANCE
Enum

响应

响应头

此接口仅返回公共响应头部,详情请参见 公共响应头部 文档。

响应体

该响应体为空。

错误码

此接口遵循统一的错误响应和错误码,参见 错误码 文档。

实际案例

案例一:为存储桶开启对象锁定功能

请求

以下示例表示对存储桶 examplebucket-1250000000 开启对象锁定功能。
PUT /?object-lock HTTP/1.1
Host: exmaplebucket-1250000000.cos.ap-beijing.myqcloud.com
Content-Length: 281
Content-Type: application/x-www-form-urlencoded
Authorization: Auth String


<ObjectLockConfiguration>
<ObjectLockEnabled>Enabled</ObjectLockEnabled>
</ObjectLockConfiguration>

响应

HTTP/1.1 200 OK
Content-Length: 0
Connection: keep-alive
Date: Fri, 09 Dec 2022 08:17:20 GMT
Server: tencent-cos
x-cos-request-id: NjM5MmVmMTBfNmM0ZTQ0MGJfMjA4****

案例二:为存储桶开启对象锁定功能并配置默认保留周期

请求

以下示例表示对存储桶 examplebucket-1250000000 开启对象锁定功能,并配置默认保留周期。
PUT /?object-lock HTTP/1.1
Host: exmaplebucket-1250000000.cos.ap-beijing.myqcloud.com
Content-Length: 281
Content-Type: application/x-www-form-urlencoded
Authorization: Auth String

<ObjectLockConfiguration>
<ObjectLockEnabled>Enabled</ObjectLockEnabled>
<Rule>
<DefaultRetention>
<Days>1</Days>
<Mode>COMPLIANCE</Mode>
</DefaultRetention>
</Rule>
</ObjectLockConfiguration>

响应

HTTP/1.1 200 OK
Content-Length: 0
Connection: keep-alive
Date: Fri, 09 Dec 2022 08:17:20 GMT
Server: tencent-cos
x-cos-request-id: NjM5MmVmMTBfNmM0ZTQ0MGJfMjA4****

案例三:修改存储桶的默认保留周期

请求

以下示例表示对存储桶 examplebucket-1250000000 修改存储桶的默认保留周期。例如,存储桶之前的默认保留周期为3天,以下请求会将默认保留周期修改为10天。
PUT /?object-lock HTTP/1.1
Host: exmaplebucket-1250000000.cos.ap-beijing.myqcloud.com
Content-Length: 281
Content-Type: application/x-www-form-urlencoded
Authorization: Auth String

<ObjectLockConfiguration>
<ObjectLockEnabled>Enabled</ObjectLockEnabled>
<Rule>
<DefaultRetention>
<Days>10</Days>
<Mode>COMPLIANCE</Mode>
</DefaultRetention>
</Rule>
</ObjectLockConfiguration>

响应

HTTP/1.1 200 OK
Content-Length: 0
Connection: keep-alive
Date: Fri, 09 Dec 2022 08:17:20 GMT
Server: tencent-cos
x-cos-request-id: NjM5MmVmMTBfNmM0ZTQ0MGJfMjA4****