使用数据集列值在 foreach 工件中查找工件

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

我正在尝试在 foreach 中使用 ADF 查找工件的数据集结果。 我需要在 FOREACH 工件内的查询中使用结果的每一列。

查找链接到 FOREACH,并将 Items 设置为:@activity('LookupBatchInformation').output.value

在复制工件中,我使用动态数据表达式来创建查询,如下所示:

选择[COL1] ... 来自 [dbo].[表] 其中 [COL1] = item().COL1 AND [COL2] = item().COL2

当我调试管道时,我得到:

错误 { “代码”:“错误请求”, “消息”:空, “目标”:“管道//runid/f9f65ff3-9cfc-49d7-8f32-a61d20e27342”, “详细信息”:空, “错误”:空 }

我似乎找不到在 FOREACH 循环中使用查找工件作为参数的示例。 有人知道我做错了什么或者有一个在 FOREACH 循环中使用数据集行/列的示例吗?

谢谢你

foreach azure-data-factory lookup
1个回答
0
投票

错误{“code”:“BadRequest”,“message”:null,“target”:“pipeline//runid/f9f65ff3-9cfc-49d7-8f32-a61d20e27342”,“details”:null,“error”:null}

当查询和动态表达式存在语法错误时,就会出现上述错误。

使用动态表达式中的

@concat()
函数构建查询,如下所示。

@concat('select [<column_name1>] from dbo.[one] WHERE [<column_name1>] = ''',item().<column_name1>,'''AND [<column_name2>] =''',item().<column_name2>,'''')

enter image description here

它将给出预期的结果。

enter image description here

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