您可以通过基于最后一次访问时间(Last Access Time)策略的生命周期规则来自动监测数据的访问模式并识别冷数据,然后将识别出来的冷数据进行存储类型的转换,从而达到数据的冷热分层存储,最终降低存储成本。
使用场景
- 多媒体场景
某网站的视频、图片存储在OSS上,历史数据会逐渐从热转冷。因此,您可能需要将网站内长时间不被访问的数据保存为低频访问类型。此外,部分数据距离上传时间已久,但仍然是热门访问数据,这部分数据需要继续保存为标准存储类型。在该场景下应选用基于最后一次访问时间的生命周期规则,用于自动识别冷热数据并进行分层存储,从而降低存储成本。
- 相册或网盘场景
对于长时间没有访问的冷数据,希望设置自定义转储天数,自动将冷数据转为低频访问类型,并确保数据的实时访问。
- 生命科学场景
基因测序生成的大量业务数据,往往需要根据数据的最后访问时间而非最后修改时间来判断数据的冷热。按以往,客户只能手动通过日志分析或其他方式进行数据冷热的分层管理。但如果选用基于最后一次访问时间的生命周期规则,则可实现由服务端根据最后访问时间来自动识别冷热数据并实现数据分层存储。不仅如此,您还可以在同一条生命周期规则中同时结合最后访问时间与最后修改时间的策略,从而更灵活地进行数据管理。
使用限制
- 匹配条件
生命周期规则目前仅支持根据前缀和标签进行匹配,不支持通配符匹配、后缀匹配以及正则匹配。
- 碎片过期限制
不支持对重叠前缀的Object设置两条或两条以上包含碎片过期策略的生命周期规则。示例如下:
- 示例一
您对整个Bucket设置了一条包含碎片过期策略的生命周期规则,则不支持对Bucket中任意前缀的Object再设置一条包含碎片过期策略的生命周期规则。
- 示例二
您对某个Bucket中前缀为dir1设置了一条包含碎片过期策略的生命周期规则,则不支持对该Bucket中包含重叠前缀(例如dir1/dir2)的Object再设置一条包含碎片过期策略的生命周期规则。
- 示例一
注意事项
规则数量
通过控制台最多可配置100条生命周期规则,单条生命周期规则中可同时包含最后一次修改时间以及最后一次访问时间的策略。如果您需要配置更多数量的生命周期规则,请使用SDK或者命令行工具ossutil。
在开通了OSS-HDFS服务的Bucket中配置生命周期规则
如果您对开通了OSS-HDFS服务的Bucket设置或更新为匹配整个Bucket的生命周期规则,需通过NOT元素排除.dlsdata/
,避免因生命周期规则触发的Object删除或存储类型转换行为影响OSS-HDFS数据读写。

最后一次访问时间更新策略
开启访问追踪后,OSS默认以访问跟踪开启时间作为Bucket中所有Object的最后一次访问时间,后续会根据Object的访问情况自动更新Object的最后一次访问时间。如果24小时内,同一个Object有多次GetObject请求,则OSS会将首次GetObject的请求时间记录为Object最后一次访问时间。
此外,访问目标Object对应的软链接时不会更新目标Object的最后一次访问时间。
转储的Object类型
- 基于最后一次访问时间的生命周期规则支持将Object从标准存储类型转为低频访问类型,您还可以选择当Object被访问后是否自动转回标准存储类型。
- 基于最后一次访问时间的生命周期规则支持将Object从标准存储或低频访问类型转为归档或冷归档存储类型,也可以选择将Object从归档转为冷归档存储类型。如果您需要将Object转换为归档或冷归档存储类型,请提交工单申请转换为归档或冷归档类型的权限,申请通过后您需要指定转换的目标存储类型。
费用说明
- Object监控管理费用
开启访问追踪后会产生Object监控管理费,但OSS暂不收取该费用。
- 存储费用
您可以针对任意大小的Object设置基于最后一次访问时间的生命周期规则,OSS会根据Object所处的存储类型收取不同的存储费用。
- 标准存储类型Object,按实际存储大小计算。
- 低频访问、归档以及冷归档类型Object小于64 KB时,按照64 KB计算。当大于或等于64 KB时,按照实际存储大小计算。
- 低频访问不足规定时长容量费用
低频访问类型Object有最低30天的存储时长要求。如果存储时长未达到最低天数要求,还会产生不足规定时长容量费用。该计费项结合生命周期规则的示例说明如下:
示例一:标准类型Object在其创建10天后,通过生命周期将其转换为低频访问类型,过了5天后又将其转回标准存储。此时会产生15天的低频访问不足规定时长容量费用。
示例二:标准类型Object在其创建10天后,通过生命周期将其转换为低频访问类型,过了15天后将其删除。此时会产生5天的低频访问不足规定时长容量费用。
通过CopyObject将Object覆写为低频访问类型时,Object也有最小存储天数限制。例如标准存储类型文件在其创建10天后,通过CopyObject覆写操作将存储类型转换为低频存储,再过10天后将其删除。此时会产生20天的低频访问存储不足规定时长费用。
- 低频访问数据取回费用
访问低频访问类型文件产生的费用,按数据取回量计费。
使用OSS控制台
常见问题
创建的生命周期规则为什么没有即刻生效?
生命周期规则创建后的24小时内,OSS会加载规则。规则加载完成后,OSS会在每天的北京时间8:00开始执行规则,并在随后的24小时内执行完毕。因此,生命周期规则创建后最多可能需要48小时才会生效。
如果针对Bucket内相同前缀的Object创建了两条生命周期规则,其中一条规则基于最后一次修改时间,另外一条规则基于最后一次访问时间,最终执行效果会怎么样?
例如,针对目标存储空间examplebucket创建了两条生命周期规则,规则一指定该Bucket内所有前缀为doc的Object在距离最后一次修改时间30天后删除,规则二指定该Bucket内所有前缀为doc的Object在距离最后一次访问时间30天后转低频访问类型。
由于OSS执行生命周期规则时遵循以用户较低开销为原则,因此仅规则一生效。原因是规则一中指定30天后直接删除与前缀匹配的Object,此后将不再产生费用。而规则二转为低频访问类型仍会收取相关存储费用或者数据取回费用等。
已配置的生命周期规则变更后何时生效,原有规则命中的数据如何处理?
例如,您已经针对前缀为er
的Object配置了距离最后一次访问时间30天后转低频、又过了30天后当Object被访问时选择将其转为标准存储类型的生命周期规则。但是在距离最后一次访问时间的35天后,您将生命周期指定的前缀er
变更为re
,此时原有Object仅转存为低频访问类型,转存为标准存储类型的行为不生效。变更规则命中Object的最后一次访问时间也是从Bucket开启访问追踪时开始统计。
在已开启版本控制的Bucket内开启智能分层,Bucket内不同版本的Object存储层级如何分布?
在已开启版本控制Bucket内的每一个Object都有唯一的版本ID,且不同版本ID的Object相互独立。因此可能会出现历史版本Object为低频访问类型,但是最新版本Object为标准存储类型的情况。
是否支持关闭访问追踪?
支持,前提是当前Bucket不存在基于最后一次访问时间的生命周期规则。关闭访问追踪后,系统将停止追踪Object的最后一次访问时间信息。待下一次开启访问追踪后,将重新刷新所有Object的最后一次访问时间。