概述
对象存储(Cloud Object Storage,COS)支持基于对象的生命周期配置,其通过对存储桶下发指定的描述语言,可以让符合规则的对象在指定的条件下自动执行一些操作。
说明:
每个存储桶最多可添加1000条生命周期规则。
适用场景
日志记录
如果用户使用对象存储来存储日志数据,可以通过生命周期配置,使得日志数据在30天后自动归档,或者2年后自动删除。
冷热分层
热数据往往在上传后,短时间内被大量访问而热度升高,一段时间后热度逐渐降低或者不再需要被实时访问。您可以通过生命周期规则将30天前的数据转换为低频存储,进一步可以将60天前的数据转换为归档存储,这个过程称之为数据沉降。
说明:
存档管理
使用对象存储进行文件存档管理时,往往根据金融、医疗等合规性要求,需要长期保存文件的所有历史版本,此时可以使用生命周期功能,对历史版本的文件执行沉降至归档的操作。
配置元素
创建一个生命周期规则,需要配置以下元素:
资源范围
指定生命周期规则执行的资源范围,支持自定义生命周期的应用范围和范围内覆盖的数据类型。生命周期执行时将扫描用户指定的应用范围,并对范围内用户配置的数据类型执行操作。其中,应用范围可指定存储桶的所有对象,也可以通过以下规则指定部分对象:
按对象前缀指定:支持按照目录前缀或文件名称前缀进行匹配。
按对象标签指定:通过对象标签筛选数据。
支持配置的数据类型包括:
当前版本文件:存储桶中最新版本的对象。
历史版本文件:开启版本控制后存储的历史版本对象。关于版本控制的更多信息请参见 版本控制概述。
删除标记:“对象已被删除的标记”,生命周期支持在历史版本都删除后,自动移除该标记。关于删除标记的更多描述请参见 删除标记文档。
碎片文件:分块上传任务未完成时产生的碎片。
操作
指定命中对象时,执行的操作:沉降数据和过期删除。
沉降数据
将对象在最后一次修改时间起,经过多少天后沉降为低频存储、智能分层存储、归档存储和深度归档存储类型。
支持地域
支持公有云地域,金融云地域仅支持将数据沉降至低频存储类型。
单向原则
沉降数据是单向的,只允许从标准存储 > 低频存储 > 智能分层存储 > 归档存储 > 深度归档存储,也支持跳级沉降(例如标准存储 > 归档存储),不支持逆向。您只能通过调用 PUT Object - Copy(针对非归档存储/深度归档存储类型),或 POST Object restore (仅适用于归档存储/深度归档存储类型)来将较冷存储类型的数据恢复至较热存储类型。
最终一致性
如果对同一组的对象配置了多条规则,且存在冲突性情况(不含过期删除配置),对象存储会优先执行沉降至最冷存储类型的规则。
例如,规则 A 配置了文件修改90天后沉降至低频存储,规则 B 配置了文件修改90天后沉降至归档存储,且上述规则都命中了同一对象 test.txt,则优先执行规则 B。
规则 | 资源 | 操作 | 时间条件 | 执行情况 |
规则 A | test.txt | 沉降至低频存储 | 文件修改时间的90天 | 规则冲突,执行失败 |
规则 B | test.txt | 沉降至归档存储 | 文件修改时间的90天 | 执行成功 |
注意:
生命周期不会对小于64KB 的对象执行转换操作。
腾讯云 COS 强烈提醒您不要针对同一组对象配置多个含冲突条件的生命周期规则,冲突执行可能导致不同的费用表现。
沉降数据不会改变对象原先的上传或修改时间。
过期删除
设置对象的过期时间,使对象到期后被自动删除。
处理逻辑
当对象匹配了指定的生命周期过期删除的规则时,腾讯云会将对象加入异步的删除队列,实际发生的删除时间将会与创建时间有一定的延时。您将可以通过 GET 或 HEAD Object 操作来获取对象的当前状态。
最终一致性
如果对同一组的对象配置了多条规则,且存在冲突性情况,对象存储会以最短过期时间为准执行,且过期删除的执行效力大于转换存储类型。
例如,规则 C 配置了文件修改180天后沉降至低频存储,规则 D 配置了文件修改180天后删除对象,且上述规则都命中了同一对象 test.txt,则优先执行规则 D。
规则 | 资源 | 操作 | 时间条件 | 执行情况 |
规则 C | test.txt | 沉降至低频存储 | 文件修改时间的180天 | 规则冲突,执行失败 |
规则 D | test.txt | 删除对象 | 文件修改时间的180天 | 执行成功 |
注意:
腾讯云 COS 强烈提醒您不要针对同一组对象配置多个含冲突条件的生命周期规则,冲突执行可能导致不同的费用表现。
时间条件
指定触发上述操作的时间条件,有两种情况:
1. 对于未开启版本控制的存储桶,或已开启版本控制存储桶的最新版本对象。以对象的最后一次修改时间(Last-Modified)为起始时间,经过多少天后执行相应操作。
2. 对于已开启版本控制的存储桶,历史版本的沉降和删除,以对象成为历史版本的时间计算,而非根据对象的最后修改时间计算。
说明:
支持设置最长天数为3650天。
文件修改时间说明
生命周期支持按照对象的修改时间触发规则执行。部分操作会更改文件修改时间,例如对文件的写操作,PUT Object、PUT Object - Copy、POST Object、Complete Multipart Upload 等接口会更新对象的修改时间,通过生命周期沉降对象不会更新修改时间。
执行天数说明
规则中制定的天数以24小时为准,未满24小时不算为1天。
例如,您在1号下午3点配置了一条文件修改后1天就删除的生命周期规则,那么,生命周期任务会在2号0点开始扫描在2号0点以前距离最终修改时间已经超过1天的文件,并执行删除任务。对于在1号当天上传的文件,由于距离最终修改时间没有超过1天,并不会被删除,而是需要等到3号0点,才会被扫描记录并执行删除。
使用方法
规则生效时间说明
生命周期规则的生效分为每日扫描和执行两个操作:
扫描:COS 将在北京时间 (GMT+8)每日0点拉取生命周期规则,扫描命中应用范围的所有对象。
执行:若扫描到对象达到规则指定日期,执行沉降或删除操作。
例如,某用户2023年1月20日配置了规则 A,指定 test.txt 修改时间后10天删除。则从2023年1月21日0点起,每日0点扫描 test.txt 的修改时间。假设该文件的最后修改时间为2023年1月15日,则2023年1月26日0点进行的扫描任务将判断该文件已满足删除条件,扫描完成后将执行删除操作。
注意:
请勿在规则扫描和执行期间变更规则状态。变更会导致原规则终止,将无法保证沉降或删除操作正确执行。
费用说明
执行说明
生命周期在执行删除操作时,会产生后端删除请求。执行沉降操作时,会产生后端删除请求和写入请求。上述操作产生的请求次数会计入请求费用产生的账单中。例如,将标准存储类型的文件
test.txt
通过生命周期沉降为低频存储,将产生删除标准存储数据和写入低频存储数据两次请求。生命周期执行效力不包含意外情况或存储桶中包含大量存量对象的情况,若因为其他情况没有完成,您将可以通过 GET 或 HEAD Object 操作来获取对象的当前状态。
目前腾讯云对于生命周期的执行效力不提供账单承诺,即对象的计费将会在生命周期执行完成时发生改变。
时间不敏感
请注意低频存储和智能分层存储类型需存储至少30天、归档存储类型需存储至少90天、深度归档存储类型需存储至少180天,执行数据沉降或删除时不会产生额外的存储费用。腾讯云 COS 不会检查少于30/90/180天的生命周期配置,因此对于正确的配置都将按照您的要求执行。
例如,一个低频存储的对象在未存满30天时被执行沉降,将导致对象在当天产生归档存储类型费用的同时,低频存储类型仍将计费至第30天止。一个归档存储对象在未存满90天时被执行过期删除,将导致对象持续以归档存储类型计费至第90天止。数据沉降到深度归档存储同理。
大小限制
在低频存储、归档存储和深度归档存储类型分别制定了对象最小占用空间限制。例如,在低频存储中上传小于64KB 的文件,将按照64KB 计算。为了降低用户成本,生命周期不会对小于64KB 对象执行存储类型的转换操作。