是否可以在 Azure 数据工厂表达式中查找特定值的实例?

Is it possible to look for an instance of a particular value in a Azure Data Factory expression?

I return 从 TSQL 过程到 Azure 数据工厂的 JSON 数组。我想知道数组中是否至少有 1 个值等于 true。 JSON 数组包含多个字段和多行。

设置概览:

  1. 数据工厂查找activity。
  2. TSQL 过程 returns 2 个或更多 行。
  3. 数据工厂 IF activity 有条件检查 JSON return编辑了至少 1 个 x 实例。

虚拟程序:

CREATE PROC dbo.usp_dummyProc
AS
    SET NOCOUNT ON;
    SELECT 1, 'a', 1
    UNION
    SELECT 2, 'b', 0
    ;

数据工厂管道:

我试过了:

@contains(activity('ActivityName').output.value.SqlFieldName, true)

这不出所料地导致了:

The expression 'contains(activity('ActivityName').output.value.SqlFieldName, true)' cannot be evaluated because property 'SqlFieldName' cannot be selected. Array elements can only be selected using an integer index.

我看不到可以遍历列表 returned 以检查值的表达式组件。我可以编写另一个过程来处理这个问题,但理想情况下,我不想每次想解决这个问题时都需要这样做。 This is where I looked.

您可以将 activity('ActivityName').output.value 的结果转换为字符串,然后使用 contains() 检查它是否包含 '"SqlFieldName":真的'。类似于以下表达式:@contains(join(activity('ActivityName').output.value,','),'"SqlFieldName":true')