我希望自动删除Azure表存储中的条目前一个月。
现在在Azure表存储中,我有一年的条目。我手动删除它。但是对于未来,我需要自动化这个过程。我需要从Azure表存储中删除一个月的条目。
答案 0 :(得分:2)
如果您有partitionKey和rowKey,则可以直接删除条目,如文档中所述https://msdn.microsoft.com/en-us/library/dd135727.aspx ,否则你需要先选择条目,知道它们(partitionKey,rowKey),然后删除它们。
答案 1 :(得分:2)
基本上,要删除Azure表存储中的旧实体,您可以先使用Filtering on DateTime Properties查询它们,然后在循环中删除它们。
关于
但是对于未来,我需要自动化这个过程
如果您有Azure应用服务,则可以scheduling WebJobs来满足您的要求。
此外,您还可以利用Function App来实施删除操作,并使用Azure Scheduler配置调度api的计划。
如有任何疑问,请随时告诉我。
答案 2 :(得分:1)
您需要查询整个表,找到时间戳超过1个月的实体,并删除所有这些实体。批处理操作在这里可能很有用,因为它支持通过一个请求删除具有相同分区键的多个实体。
查询实体REST API:https://msdn.microsoft.com/en-us/library/azure/dd179421.aspx
删除实体REST API:https://msdn.microsoft.com/en-us/library/azure/dd135727.aspx
在REST API中执行实体组事务:https://msdn.microsoft.com/en-us/library/azure/dd894038.aspx
如果您使用的是C#,可以参考以下文档:https://azure.microsoft.com/en-us/documentation/articles/storage-dotnet-how-to-use-tables/#delete-an-entity
答案 3 :(得分:0)
查看以下用于查询存储表的Powershell解决方案。您可以将其合并到某种类型的自动化解决方案中以定期运行。
https://github.com/chriseyre2000/Powershell/tree/master/Azure2