我有一个用于度量标准数据收集的azure表,我想设置一些保留期,例如:如果保留期为7,那么表应该包含最后7天的数据。
有没有可用的选项。
答案 0 :(得分:5)
我有一个用于指标数据收集的azure表,我想设置 一些保留期,例如:如果保留期为7则表 应该有最后7天的数据。
有没有可用的选项。
截至今天,Azure表(或Blob和文件)没有这样的东西。你需要自己推出一些东西。一种可能的解决方案是编写定期运行的后台作业(作为WebJob或Azure函数),并查找在“x”天之前创建的实体(在您的示例中为7)并删除这些实体。
答案 1 :(得分:2)
Azure存储中无法指定自动存档。我通常对存储表执行的操作是创建每月存储表。数据根据其时间戳插入适当的“Orders201701”或“Orders201612”等表中。然后在旧表包含不再相关的数据时清除旧表。
您可以通过自动加入跨越多个月的查询结果,使您的数据访问层将消费者从这种复杂性中抽象出来。
如果您正在处理本机Azure诊断存储,那么您将失去运气。但是,您可以偶尔删除这些表,Azure将重新创建它们。
请记住,手动删除表中的数据是非常费力的任务 - 您需要先下载分区键/行键,然后在最多100个批处理行的循环中同时执行删除命令。非常低效。
答案 2 :(得分:0)
您可以每周制作一张新桌子。您的阅读层应该把这个东西抽象化。而且,您可以完全删除旧表,这比获取键和删除难以理解的行要便宜