从 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"}')
我想使用管道 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"}')