Azure Data Factory中如何将Lookup多行数据转为Web Activity请求体
Azure Data Factory中Lookup结果转Web Activity请求体的正确实现方法
问题根源
你之前的写法错误地将Lookup返回的整个数组嵌套在一个对象内,导致请求体格式不符合要求。Lookup活动的output.value本身就是包含所有行数据的数组,无需额外包裹对象。
直接复用原数组(无字段修改)
如果不需要修改字段名,直接将Data字段的值设置为Lookup的output.value即可,Web Activity会自动解析并生成正确的JSON结构:
{ "Data": @{activity('Lookup1').output.value} }
生成后的请求体将完全符合你需要的格式:
"Data":[ { "VERSION": "current", "DATE": "202412", "AMT" :"11.22" }, { "VERSION": "current", "DATE": "202411", "AMT":"12.11" }, ... ]
自定义字段映射(如需修改字段)
如果需要重命名字段或调整字段值,使用ADF的map和createObject函数重构数组:
{ "Data": @{map(activity('Lookup1').output.value, (item) => createObject( 'VERSION', item.VERSION, 'MONTH', item.DATE, // 示例:将DATE重命名为MONTH 'AMT', item.AMT ))} }
注意事项
- 确保Lookup活动的**「仅第一行」**选项未勾选,否则只会返回单条数据而非数组
- 数千行数据在Lookup的处理范围内,无需担心性能问题;若数据量超十万级,建议评估是否改用其他组件(如Copy Activity)
内容的提问来源于stack exchange,提问作者2023hpy
相关产品推荐
相关产品推荐

