检查 SQL 表是否包含 Azure 数据工厂中的值

问题描述 投票:0回答:1

我需要检查特定的 SQL 数据库表是否包含变量 currentID。

目前,我正在运行一项查找活动(名称 - GlobalIDs)来查询 SQL 表并检索数据。 查找活动的输出

GlobalIDs
如下所示

{
"count": 30,
"value": [
    {
        "Id": 1200934
    },
    {
        "Id": 1345323
    },
    {
        "Id": 1200932
    },
    {
        "Id": 1200334
    },

我还有另一个查找活动(名称 - CurrentIDs),它返回当前 ID 值的另一个列表。我有一个 For every 块,在其中循环遍历每个

CurrentIDs
并将变量
currentID
设置为迭代值。

现在考虑 ForEach 的迭代之一,setVariable

currentID
的输出如下:

{ 
  "name": "currentId",
  "value": "1345323"
}

现在,我想做的是添加一个 If 条件来检查

currentId
值是否存在于
GlobalIDs
查找输出值中。

我尝试使用 if 条件包含如下 -

@contains(activity('GlobalIDs').output.value, variables('currentId'))

尝试了网上找到的一些建议,但是 If 条件似乎无法以这种方式工作,因为它总是变为 false,并且我没有看到为该条件呈现任何输入或输出。

azure azure-devops azure-pipelines azure-data-factory
1个回答
0
投票

看起来

GlobalIDs
是一个对象数组。每个实例都有一个属性 -
Id

我们可以做的是构造一个该属性对应于currentId的对象,如下:

@contains(activity('GlobalIDs').output.value, {'Id': variables('currentId')})

相应地更新您的状况。

© www.soinside.com 2019 - 2024. All rights reserved.