如何在Azure Synapse或Data Factory管道中读取JSON内URL并传递给下游活动
实现方案
方案1:Lookup Activity + Set Variable 实现取值(匹配你现有思路)
完全可以通过你预设的变量逻辑实现,步骤如下:
- 在Activity1(生成MyJsonFile.json的Copy活动)之后添加 Lookup Activity 作为Activity2,配置规则:
- 源数据集选择ADLS Gen2的JSON格式数据集,路径指向MyJsonFile.json的固定存储路径+固定文件名
- 勾选仅返回第一行(First row only)选项
- 配置Set Variable活动,给你的
myURLVar变量赋值,直接使用表达式:@activity('你配置的Lookup活动名称').output.firstRow.file_url
该表达式会自动读取Lookup返回的JSON结构中的file_url字段值,自动适配动态生成的时间戳zip文件名 - Activity3的源数据集选择HTTP类型,URL参数直接引用变量
@variables('myURLVar'),Sink配置为目标ADLS Gen2路径即可
方案2(更优):省略变量,直接跨活动传值
不需要声明管道变量,也无需新增Set Variable活动,完成上述Lookup活动配置后,直接在Activity3的HTTP源的URL输入框中填写表达式:@activity('你配置的Lookup活动名称').output.firstRow.file_url
直接跨活动引用取值,减少不必要的节点,管道逻辑更简洁。
注意:需要确保Activity1与Activity2之间配置依赖为成功后执行,避免MyJsonFile.json未完全生成就触发Lookup导致取值失败。
内容的提问来源于stack exchange,提问作者nam
相关产品推荐
相关产品推荐

