如何在 ADF 管道中迭代地使用带有数组的 ForEach 活动

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

我有这样的管道:

  1. 在脚本活动中,我选择两个表之间的 ID 差异列表: 选择ID 来自 不存在的地方 ( 从 b 中选择 *,其中 a.id= b.id )

  2. 在 ForEach 活动中,我有 (Items = @activity('Script1').output.resultSets[0].rows): 设置管道变量 Activity = Activity('Script1').output.resultSets[0].rows[0].ID enter image description here 复制数据活动=我可以调用API(几个id,用逗号分隔也可以调用),目前请求的body是这样的: @concat('{"id":[', '"', Activity('Script1').output.resultSets[0].rows[0].id, '"', ']}')

我希望管道能够迭代选择 ID 时获得的列表。我怎样才能做到这一点?目前,它不起作用,并且无限次地使用相同的 ID。

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

要使用 For-Each 活动中的迭代数组中的值,您需要使用

item().id
而不是
activity('Script1').output.resultSets[0].rows[0].id
表达式。

所以,表达方式应该是

@concat('{"id":[','"',item().id, '"',']}')
才能达到你的要求。

在这里,我在示例的字符串集变量中给出了这个表达式。

enter image description here

结果:

enter image description here

enter image description here

现在,您可以看到 For-Each 内部的 ID 根据给定数组发生变化。

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