两列上带有 if 语句的 Azure 逻辑应用程序 Odata 筛选器查询
Azure logic apps Odata filter query with if statment on two columns
早上好,
我有一个独特的要求,我必须根据条件从 Azure table 对“获取实体”应用过滤器,过滤器来自 HTTP get 请求。
有两个过滤器 - a 和 b。
如果传递给流的两个过滤器都是空的,则不应用任何过滤器。
如果其中一个过滤器不为空,则过滤器必须应用于该列。
如果两个筛选器都不为空,则筛选器必须应用于两列。
是否可以在 ODATA 过滤器查询中应用 If 语句?
我似乎找不到好的答案。
对于这个需求,我们可以直接在逻辑应用中使用“Condition”来实现。这不是一个聪明的解决方案,但它确实有效。
首先,我使用两个变量来模拟来自 http 请求的两个过滤器。
然后使用另一个变量来存储结果过滤器。
现在加一个“条件”判断filter1
是否不等于“空”
如果为真,再增加一个条件“条件2”判断filter2
是否不等于“空”,为filterResult
设置值。
如果为false,还要添加另一个条件“条件3”判断filter2
是否不等于“空”,并为filterResult
设置值。注意:在“设置变量4”中使用表达式string(' ')
,否则将不允许我们保存逻辑应用程序。
之后,我们可以在“获取实体”中使用filterResult
。下面截图中的表达式是 trim(variables('filterResult'))
.
早上好,
我有一个独特的要求,我必须根据条件从 Azure table 对“获取实体”应用过滤器,过滤器来自 HTTP get 请求。
有两个过滤器 - a 和 b。
如果传递给流的两个过滤器都是空的,则不应用任何过滤器。 如果其中一个过滤器不为空,则过滤器必须应用于该列。 如果两个筛选器都不为空,则筛选器必须应用于两列。
是否可以在 ODATA 过滤器查询中应用 If 语句? 我似乎找不到好的答案。
对于这个需求,我们可以直接在逻辑应用中使用“Condition”来实现。这不是一个聪明的解决方案,但它确实有效。
首先,我使用两个变量来模拟来自 http 请求的两个过滤器。
然后使用另一个变量来存储结果过滤器。
现在加一个“条件”判断filter1
是否不等于“空”
如果为真,再增加一个条件“条件2”判断filter2
是否不等于“空”,为filterResult
设置值。
如果为false,还要添加另一个条件“条件3”判断filter2
是否不等于“空”,并为filterResult
设置值。注意:在“设置变量4”中使用表达式string(' ')
,否则将不允许我们保存逻辑应用程序。
之后,我们可以在“获取实体”中使用filterResult
。下面截图中的表达式是 trim(variables('filterResult'))
.