测试动作输出长度

Test action outputs length

在我的逻辑应用程序工作流程中,我正在尝试评估先前操作输出数组的条件。

我的条件表达式

@less(action('Get_items').outputs.length, 1)

导致错误

action 'Item_found' completed with status 'Failed' and code 'BadRequest'.

也是如此
@greater(action('Get_items').outputs.length, 1)

以及

@empty(action('Get_items').outputs)

我做错了什么?


背景:action('Get_items') 是使用过滤器查询从 SPO 站点列表中检索项目的查询。
操作成功,但 App 运行 Trace 未显示输出的任何详细信息,在本例中为预期的空数组。

我设法通过与 for-each 操作相同的方式正确访问数组来实现所需的条件评估:

@empty(body('Get_items')['value'])

documentation 没有对此给出提示。

已接受的解决方案不适用于 CDS 实体,因此我使用以下条件解决了它:

@length(body('Get_items')['value'])

如果我理解正确的话,它是将数组转换为字符串,空数组被转换为[],所以你只需要检查查询的输出是否大于2,那么它意味着Get_Items 不为空。