在获取实体操作中使用筛选器查询的逻辑应用

Logic App Using Filter Query in Get Entities Action

我是逻辑应用程序的新手,尝试构建和逻辑应用程序来检查 Azure table 中的记录。 PartitionKey是DateTime.utcNow().Ticks的字符串类型。我想写一个过滤查询来过滤PartitionKey小于等于当前DateTime的记录。我的努力见截图:

它一直告诉我表达式无效。任何人都可以给我一些提示来为我的目的编写正确的查询吗?非常感谢。我不确定为什么这个表达式无效。

首先是你的过滤查询表达式,格式应该是Timestamp le datetime'2019-03-18T06:07Z'.

其次表达式不需要ticks函数,如果使用它查询表达式将如下图所示。

所以实际上正确的查询表达式应该是 Timestamp le datetime '@{utcNow()}',如果你收到警告,请进入代码查看模式更改表达式并且不要忘记单引号。

这是我的测试结果,希望对您有所帮助,如果您还有其他问题,请随时告诉我。

感谢 George 的提示,我只需要添加单引号而不是使用 string()。这将帮助我将刻度值转换为字符串,以便我可以将其与 PartitionKey 字段进行比较。

这样,它对我的​​ table 查询执行相同的操作:

string currentDateTime = DateTime.UtcNow.Ticks.ToString();
TableQuery<EmailTableEntity> rangeQuery =
                                new TableQuery<EmailTableEntity>()
                                .Where(TableQuery.GenerateFilterCondition
                                ("PartitionKey", QueryComparisons.LessThanOrEqual, currentDateTime));