tencent cloud

文档反馈

PUT Bucket ObjectLockConfiguration

最后更新时间:2024-02-27 10:01:26

    功能描述

    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****