如何设置azure存储表的保留期限?

时间:2017-02-13 10:15:10

标签: azure azure-storage azure-table-storage

我有一个用于度量标准数据收集的azure表,我想设置一些保留期,例如:如果保留期为7,那么表应该包含最后7天的数据。

有没有可用的选项。

3 个答案:

答案 0 :(得分:5)

  

我有一个用于指标数据收集的azure表,我想设置   一些保留期,例如:如果保留期为7则表   应该有最后7天的数据。

     

有没有可用的选项。

截至今天,Azure表(或Blob和文件)没有这样的东西。你需要自己推出一些东西。一种可能的解决方案是编写定期运行的后台作业(作为WebJob或Azure函数),并查找在“x”天之前创建的实体(在您的示例中为7)并删除这些实体。

答案 1 :(得分:2)

Azure存储中无法指定自动存档。我通常对存储表执行的操作是创建每月存储表。数据根据其时间戳插入适当的“Orders201701”或“Orders201612”等表中。然后在旧表包含不再相关的数据时清除旧表。

您可以通过自动加入跨越多个月的查询结果,使您的数据访问层将消费者从这种复杂性中抽象出来。

如果您正在处理本机Azure诊断存储,那么您将失去运气。但是,您可以偶尔删除这些表,Azure将重新创建它们。

请记住,手动删除表中的数据是非常费力的任务 - 您需要先下载分区键/行键,然后在最多100个批处理行的循环中同时执行删除命令。非常低效。

答案 2 :(得分:0)

您可以每周制作一张新桌子。您的阅读层应该把这个东西抽象化。而且,您可以完全删除旧表,这比获取键和删除难以理解的行要便宜