azure 如何使用ADF将列转换为数组

lx0bsm1f  于 2023-02-05  发布在  其他
关注(0)|答案(2)|浏览(142)

我需要读取ADF上的数据库中的一列,并将其所有值用作foreach中的参数。
我尝试使用数据流和缓存接收器阅读列,然后在管道中使用Set Variable,然后使用foreach...但我得到的不是一个值数组,而是一个包含所有其他值的数组(但我无法迭代),我使用的是:@array(activity('myDataflow').output.runStatus.output.columName
任何帮助都很感激,看起来很简单(列到数组),但我卡住了

mfuanj7w

mfuanj7w1#

使用查找活动从SQL Server获取数据,并对查找输出的每个循环运行。示例:
1.创建新管线
1.添加查找活动
1.选择源数据集(在本例中为Azure SQL数据库)
1.删除"仅第一行"复选框
1.选择表、存储过程或查询类型
选择1作为结果并全部选择2作为结果并全部选择3作为结果并全部选择4作为结果

1.添加foreach活动
1.在foreach活动中的设置选项卡下:"项目" -@activity("查找SQL查询"). output. value-其中"查找SQL查询"是查找活动

的名称
1.在foreach循环中,添加一个等待活动
1.在设置选项卡中,"等待时间(秒)":@item(). result. item()是当前循环,result是SQL列

的名称
调试管道。您可以看到foreach活动针对sql查询返回的每一行迭代4次。

zed5wv10

zed5wv102#

您还可以在查找后在ForEach内使用附加变量活动。
首先在管道中创建一个数组变量。

然后在ForEach中使用附加变量活动并给出

@item.<your_column_name>

存储在样本变量中的结果变量:

    • 结果:**

我尝试使用数据流和缓存接收器读取列,然后在管道中使用Set Variable,然后使用foreach
如果你想用数据流而不是查找来做,使用上面相同的过程,并在ForEach中给出下面的动态内容。
@activity('Data flow1').output.runStatus.output.sink1.value

相关问题