我可以使用 azure logic App 删除旧的 azure table 行吗?

Can I use azure logic App to remove old azure table row?

我有一个包含大量日志信息的天蓝色 table。现在我正在寻找删除旧记录的方法(比如 X 天前)。

Azure 逻辑应用程序提供循环功能,并具有删除 Azure 中实体的内置例程 Table。听起来真的很棒,但是,我很快就卡住了。这个删除实体函数需要Partition key和Row key。但是,因为我想删除基于 TimeStamp 字段的行,所以我似乎不能使用这个。

好的,我尝试先检索旧条目并遍历每一行,然后逐行删除。 (复制粘贴此 tutorial

所以我尝试创建一个过滤器查询来首先检索旧条目:

@less(item()?['TimeStamp'].addDays(utcNow(), -7))

但是,azure 说我的表达无效。所以我猜上面的表达式是针对 blob 的,而不是针对 azure tables??

谁能给我一些指导?

在逻辑应用中,Get entities动作支持添加Filter Query,所以添加它并使用这样的查询表达式Timestamp ge datetime'2019-05-20T01:32Z'。然后删除你得到的实体。

这是关于Timestamp Property的描述,下面是我的结果页面。

更新: 你可以使用表达式 addDays(utcNow(),-41) 来过滤数据,但是你需要添加 '' 否则它不会被识别。

这是筛选结果。