继续来看storage中一些比较实用的功能,这次要看的是生命周期管理的功能,这项功能在Global上线时间比较早,今年终于在mooncake落地了,落地之后我们就开始准备给用户推荐这项功能,因为它真的能给用户带来不少实惠
那么这项功能具体能做什么呢?
举个例子来说,我们都知道blob的费用是比较低的,所以很多时候我们也推荐把一些文件存储到blob里以节省费用,这是云上一种常见的数据存储的模式,但是对于有一些历史文件,比如log文件,这类文件在存储了一段时间之后其实一般是很难用得上了,大部分情况下我们不太需要去查询一个月或者更早之前的log数据,但是这类数据我们又不能把他们直接删除掉,因为未来谁也不能保证这些数据不会被用到,也不符合审计的要求,对于这种数据,我们更该做的是要做归档
在云上,一般而言,存储也会分冷存储和热存储,这点各个云的形式可能不太一样,AWS S3可以进行分层,如果是归档数据可以放在另一个服务glacier里,而Azure是统一放在Blob里的,在Blob里又分冷,热,归档三层,每层的价格是不一样的,热数据最贵,归档数据最便宜,各层之间可以相互转换,所以像log这种日志文件,在Azure存储的最佳实践其实是应该分层处理,而不是仅仅当做热数据来处理,比如存储一个月或者几个月后,将这些log文件转换为冷数据,再过一段时间之后,最终转换为归档数据,这样是最符合使用场景的
在定价上,存储分层的定价也是符合这种场景的,热存储的基本费用最高,但是读写的费用相对较低,归档存储的基本费用最低,相对的,读写这些数据的成本就要相对高一些
具体策略的设置其实非常简单直观
首先找到要设置策略的存储账户,在lifecycle management这里选择添加规则
这里可以设置热存储最后一次修改后多少天会被修改为冷存储,以及以此类推多久后会变为归档存储
最后这个策略生效的范围同样是可以配置的,我们可以选择单独的container,设置是container里的virtual folder来作为策略生效的范围
最后,有几点要注意的
1.生命周期策略只适用于block blob,page blob无法使用
2.Azure每天读取一次策略,所以策略设置后有可能需要24小时才能生效,具体的操作可能也需要等待一段时间才能完成
3.如果想手动修改storage tier,请先将生命周期策略禁用