与 COS 生命周期的差异
COS 元数据加速桶与 COS 桶生命周期有如下差异,在使用时请您关注:
1. 规格限制:COS 元数据加速桶限制单个存储桶下生命周期规则数量最多1000条,若有特殊场景需要提升此限制,请 联系我们。
2. 更新时间:元数据加速桶生命周期使用最近文件更新时间作为沉降或删除的依据。COS 元数据加速后端文件 MTime、ATime、CTime 中的最近时间,作为文件更新时间。暂不支持指定特定时间(MTime、ATime、CTime)作为沉降依据。例如,若您6月1日创建文件
text.txt
,6月10日再次访问该文件,后续对此文件无操作。6月11日配置生命周期规则,指定text.txt
更新后10天沉降至低频。此时生命周期扫描判断,该文件的 MTime 为6月1日;ATime 为6月10日,该文件的最近更新时间为6月10日,该文件将会于6月20日沉降为低频存储类型。说明:
为保证读写性能最优,COS 元数据加速默认不开启 ATime 追踪。若您需要使用 ATime 功能,请 联系我们。
为避免生命周期早于配置时间提前执行,使用生命周期沉降或删除文件(例如 .Trash)前,请您参考 回收站清空机制说明。
3. 文件前缀:元数据加速桶生命周期支持前缀筛选功能仅支持填写为目录,暂不支持 前缀排除 功能。配置前缀时无需在路径前后携带
/
,COS 后端会默认将该路径作为目录处理。另外,因为前缀仅支持目录,因此暂不支持普通 COS 桶中的路径通配功能。例如,您的桶中有如下两个路径:user/hive/warehouse/test.db/test_table/
user/hive/warehouse/test.db/test_table2/
若您在生命周期规则中配置文件前缀为
user/hive/warehouse/test.db/test_table
,将该路径作为目录匹配,仅会命中第一个路径,不会对 test_table2
生效。4. 当前元数据加速桶支持按以下顺序单向沉降文件:
单 AZ 元数据加速桶:标准存储 > 低频存储 > 归档存储 > 深度归档存储
多 AZ 元数据加速桶:多 AZ 标准存储 > 多 AZ 低频存储
使用方式
当前元数据加速桶支持使用 COS 控制台和 S3 Lifecycle API 配置生命周期规则。
通过控制台配置
使用控制台配置的流程如下:
创建规则
1. 进入 COS 控制台。
2. 在左侧导航中,单击存储桶列表,进入存储桶列表页面。
3. 找到需要开启生命周期功能的元数据加速存储桶,单击其存储桶名称,进入存储桶详情页。
4. 单击左侧的基础配置 > 生命周期配置项。


5. 单击添加规则。


基础信息配置项说明如下:
规则名称:输入您的生命周期规则名称。
应用范围:本生命周期规则可以作用于整个存储桶,也可以作用于指定前缀范围内的文件。
当选择指定范围时:
对象前缀:元数据加速桶仅支持前缀填写为目录,暂不支持 前缀排除 功能。配置前缀时无需在路径前后携带
/
,COS 后端会默认将该路径作为目录处理。不支持正则表达式。当选择整个存储桶时:规则对整个存储桶内文件生效。
6. 点击下一步,进入规则配置。


配置项说明如下:
管理当前版本文件:您可以通过开启管理当前版本文件的选项,沉降或者删除当前版本对象。支持存储桶中的对象由标准存储等热数据沉降至低频存储等冷数据,支持对象到期后删除。
存储类型由热到冷分别为:标准存储 > 低频存储 > 归档存储 > 深度归档存储,存储类型转换只能由热到冷,不能反向进行。关于存储类型的介绍和适用地域说明,请参见 存储类型概述。
说明:
开启了多 AZ 配置的存储桶,生命周期的转换顺序仅支持标准存储(多 AZ) > 低频存储(多 AZ) 。
元数据加速桶根据使用最近文件更新时间作为沉降或删除的依据。COS 元数据加速后端文件 MTime、ATime、CTime 中的最近时间,作为文件更新时间。暂不支持指定特定时间(MTime、ATime、CTime)作为沉降依据。
说明:
例如,若您6月1日创建文件
text.txt
,6月10日再次访问该文件,后续对此文件无操作。6月11日配置生命周期规则,指定text.txt
更新后10天沉降至低频。此时生命周期扫描判断,该文件的 MTime 为6月1日;ATime 为6月10日,该文件的最近更新时间为6月10日,该文件将会于6月20日沉降为低频存储类型。删除碎片:文件上传的时候由于各种原因导致上传失败,只传输了其中的一部分,对于此类残损的文件可以设置定期删除。
7. 点击下一步,信息确认无误后,单击确定,即完成生命周期规则创建。
查看规则
1. 进入 COS 控制台。
2. 在左侧导航中,单击存储桶列表,进入存储桶列表页面。
3. 找到需要开启生命周期功能的元数据加速存储桶,单击其存储桶名称,进入存储桶详情页。
4. 单击左侧的基础配置 > 生命周期配置项,即可看到该桶下所有生命周期规则。


编辑规则
1. 进入 COS 控制台。
2. 在左侧导航中,单击存储桶列表,进入存储桶列表页面。
3. 找到需要开启生命周期功能的元数据加速存储桶,单击其存储桶名称,进入存储桶详情页。
4. 单击左侧的基础配置 > 生命周期配置项。
5. 找到预期要编辑的规则,点击编辑按钮,即可通过弹窗编辑生命周期规则。
删除规则
1. 进入 COS 控制台。
2. 在左侧导航中,单击存储桶列表,进入存储桶列表页面。
3. 找到需要开启生命周期功能的元数据加速存储桶,单击其存储桶名称,进入存储桶详情页。
4. 单击左侧的基础配置 > 生命周期配置项。
5. 找到预期要删除的规则,点击删除按钮,即可通过删除生命周期规则。
说明:
若您仅需短暂停止规则执行,无需删除规则,可单击编辑,将对应规则的状态修改为关闭。
通过 API 配置
元数据加速桶复用 COS 生命周期能力,支持使用 COS Lifecycle 接口开启清单配置。由于元数据加速桶特性,API 中部分字段与 COS 接口存在差异,具体调用方式请参照如下接口示例:
PUT Bucket Lifecycle
由于元数据加速桶特性,API 中部分字段与 COS 清单接口存在差异,具体说明如下:
Filter
节点暂不支持前缀排除功能,因此不支持入参
PrefixNotEquals
字段。元数据加速桶不支持文件标签,因此不支持入参
tag
字段进行筛选。暂不支持根据文件大小筛选,因此不支持入参
ObjectSizeGreaterThan
和 ObjectSizeLessThan
字段。AccessFrequency
节点元数据加速桶暂不支持指定访问时间沉降,因此不支持入参
AccessFrequency
及其子节点参数。NoncurrentVersion
相关节点元数据加速桶暂不支持 版本控制,因此不支持入参
NoncurrentVersionExpiration
、NoncurrentVersionTransition
及其子节点参数。StorageClass
节点当前元数据加速桶支持的入参为:
STANDARD_IA
、ARCHIVE
、DEEP_ARCHIVE
。请求
PUT /?lifecycle HTTP/1.1Host: <BucketName-APPID>.cos.<Region>.myqcloud.comContent-Length: lengthDate: GMT DateAuthorization: Auth StringContent-MD5: MD5<?xml version="1.0" encoding="UTF-8"?><LifecycleConfiguration><Rule><ID>test_rule_1</ID><Filter><Prefix>test_prefix</Prefix></Filter><Status>Enabled</Status><Transition><Days>30</Days><StorageClass>STANDARD_IA</StorageClass></Transition><Transition><Days>90</Days><StorageClass>ARCHIVE</StorageClass></Transition><Transition><Days>180</Days><StorageClass>DEEP_ARCHIVE</StorageClass></Transition><Expiration><Days>360</Days></Expiration></Rule><Rule><ID>test_rule_2</ID><Filter/><Status>Enabled</Status><AbortIncompleteMultipartUpload><DaysAfterInitiation>30</DaysAfterInitiation></AbortIncompleteMultipartUpload></Rule></LifecycleConfiguration>
响应
HTTP/1.1 200 OKContent-Type: application/xmlContent-Length: 0Date: Wed, 16 Aug 2020 11:59:33 GMTServer: tencent-cos
GET Bucket Lifecycle
请求
GET /?lifecycle HTTP/1.1Host: <BucketName-APPID>.cos.<Region>.myqcloud.comDate: GMT DateAuthorization: Auth String
响应
HTTP/1.1 200 OKContent-Type: application/xmlContent-Length: 312Date: Wed, 16 Aug 2017 12:23:54 GMTServer: tencent-cosx-cos-request-id: NTk5NDM5NWFfMjQ4OGY3Xzc3NGRf****<LifecycleConfiguration><Rule><ID>test_rule_1</ID><Filter><Prefix>test_prefix</Prefix></Filter><Status>Enabled</Status><Transition><Days>30</Days><StorageClass>STANDARD_IA</StorageClass></Transition><Transition><Days>90</Days><StorageClass>ARCHIVE</StorageClass></Transition><Transition><Days>180</Days><StorageClass>DEEP_ARCHIVE</StorageClass></Transition><Expiration><Days>360</Days></Expiration></Rule><Rule><ID>test_rule_2</ID><Filter></Filter><Status>Enabled</Status><AbortIncompleteMultipartUpload><DaysAfterInitiation>30</DaysAfterInitiation></AbortIncompleteMultipartUpload></Rule></LifecycleConfiguration>
DELETE Bucket Lifecycle
请求
DELETE /?lifecycle HTTP/1.1Host: <BucketName-APPID>.cos.<Region>.myqcloud.comDate: GMT DateAuthorization: Auth String
响应
HTTP /1.1 204 No ContentContent-Type: application/xmlDate: Wed, 16 Aug 2017 12:59:09 GMTServer: tencent-cosx-cos-request-id: NTk5NDQxOWNfMjQ4OGY3Xzc3NGRf****