Azure Data Factory中如何将数组当前值传入REST数据集动态生成API端点
解决子管道遍历报表类型及动态配置API与存储路径的方案
1. 子管道核心配置调整
- 给子管道添加两个参数:
- 字符串数组参数
reportTypes,默认值设为["BALANCE_SHEET", "CASH_FLOW", "INCOME_STATEMENT"] - 字符串参数
symbol,用于接收父管道传递的股票代码
- 字符串数组参数
- 子管道内的For Each活动,Items属性直接绑定到数组参数:
@pipeline().parameters.reportTypes - For Each内部引用当前遍历项统一用
@item()
2. 动态构造REST API请求地址
- 给REST数据集添加字符串参数
reportFunction,数据集的URL配置为:@concat('https://www.alphavantage.co/query?function=', dataset().reportFunction, '&symbol=', pipeline().parameters.symbol, '&apikey=demo') - 在For Each内部的调用活动(复制/数据流)中,将REST数据集的
reportFunction参数值设为@item()
3. 动态生成存储文件夹路径
- 给ADLS Parquet数据集添加字符串参数
targetFolder,数据集的文件夹路径配置为:@concat('your-ADLS-base-path/', dataset().targetFolder, '/', pipeline().parameters.symbol) - 在For Each内部的活动中,将
targetFolder参数值设为转换后的格式:
该表达式可自动把@toLower(replace(item(), '_', ' '))BALANCE_SHEET转为balance sheet格式
4. 父管道调用子管道的参数传递
父管道的For Each活动调用子管道时,在参数传递中:
- 将当前遍历的symbol值传给子管道的
symbol参数 - 子管道的
reportTypes参数可直接用默认值,也能在父管道按需覆盖调整
内容的提问来源于stack exchange,提问作者Manas R
相关产品推荐
相关产品推荐

