从 webActivtity 的 body Json 调用 forEachActivty

call an forEachActivty from a body Json of an webActivtity

我想使用管道 ADF 调用 API REST,它使用 sql table 并提取一个或多个文件。

如果 table 包含 3 个不同的区域,

API 应该 return 3 个文件,因此我使用了以下活动:

A lokupctivity :这是一个查询(在区域列上不同)以获取我的 table 中存在的所有区域。 --------> 结果:

 "value": [{"RegionCode": "10" },{"RegionCode": "60"},{"RegionCode": "50"}],`

EachActivity(Check_Region_In_Table) :为每个区域调用我的 API enter image description here

之后,我调用了我的 API,它使用令牌、ID、秘密,但在 body 中,我无法获得一个区域 enter image description here

这是我的body

@json(concat('{"sourceTable": "table","query": "select * from table where RegionCode="',activity('Check_Region_In_Table').output.value[0],'","outputFileType" : "csv","optionList":"nullValue=null|delimiter=\t|header=false","outputFolder": "activity('Check_Region_In_Table').output.value[0]",file-{YYYY}-{MM}-{dd}-{HH}-{mm}-{ss}.txt"}')) 但是我得到一个无效的错误

结果应该 return 3 个文件(我有 3 个区域),具有 3 个不同的名称 R10_file2022-15-04-15-48-30.txt

正如 wBob 在评论部分提到的,当您在 ForEach activity 中引用查找输出值时,请使用 item().columnname {ex: @item().RegionCode}.

  • 在 ForEach activity 设置中传递查找 activity 的输出。

  • 在您的 ForEach 中,使用带有 item().RegionCode 的表达式来引用查找列值。

    @concat('{"sourceTable": "table","query": "select * from table where RegionCode="', item().RegionCode,'","outputFileType" : "csv","optionList":"nullValue=null|delimiter=\t|header=false","outputFolder":', item().RegionCode,'file-{YYYY}-{MM}-{dd}-{HH}-{mm}-{ss}.txt"}')