如何在Azure Data Factory的ForEach活动中传递参数值
ForEach循环配置错误修复方案
报错原因
你收到的报错是因为ForEach活动的遍历集合参数需要传入数组/字符串类型,你当前配置的@activity('Fetch').output是Lookup活动返回的完整对象,不属于数组类型,无法被length函数计算长度来确定循环次数,因此触发报错。
修复步骤
- 修正ForEach的Items属性取值:将原配置
@activity('Fetch').output替换为@activity('Fetch').output.value。Lookup查询返回的10行数据就存放在output的value字段中,属于数组类型,传入后ForEach会自动遍历10次。 - 配置ForEach内部Lookup的查询语句:循环内通过
item()获取当前遍历的单行数据,查询语句写法如下:
@concat('SELECT * FROM Table WHERE CustomerName = ''', item().CustomerName, ''' and Country = ''', item().Country, '''')
注意:SQL语句中的单引号需要用两个单引号转义,避免拼接后出现语法错误。
内容的提问来源于stack exchange,提问作者Kenny_I
相关产品推荐
相关产品推荐

