能否从ADF v2管道中执行Synapse Analytics工作区中定义的管道
完全可以通过ADF v2的Web Activity调用Synapse工作区中预先定义的管道,核心逻辑是调用Synapse的原生REST API触发管道执行即可,具体操作方式如下:
实现步骤
- 首先配置权限:为你的ADF实例的托管身份授予目标Synapse工作区的
Synapse Pipeline Operator角色(权限更小更安全)或Synapse Contributor角色,确保ADF拥有调用Synapse API的权限。 - 在ADF v2管道中添加Web活动,按如下规则配置:
- 请求URL:填入
https://<你的Synapse工作区名称>.dev.azuresynapse.net/pipelines/<目标Synapse管道名称>/createRun?api-version=2020-12-01,替换尖括号中的内容为你的实际资源名称即可,若Synapse管道存放在工作区的特定文件夹下,管道名称需要补全路径,例如业务数据处理/月结算管道 - 请求方法:选择
POST - 身份验证方式:选择
系统分配的托管标识,资源字段固定填写https://dev.azuresynapse.net - 请求正文(可选):如果需要给Synapse管道传递入参,直接填入JSON格式的参数即可,示例如下:
{ "统计日期": "2024-05-01", "业务线": "电商" }
- 请求URL:填入
- (可选)同步等待逻辑:默认Web活动触发Synapse管道后会直接返回运行ID,属于异步调用,不会等待管道执行结束。如果需要等Synapse管道运行完成再执行ADF后续活动,可以在Web活动后添加Until循环,定期调用Synapse运行状态查询API判断执行结果即可。
注意事项
- 调用时要确保ADF和Synapse工作区的网络策略允许双向访问,若Synapse配置了IP白名单或者专用链接,需要把ADF的出站IP加入允许列表
- 接口的api-version可以根据实际使用的Synapse版本调整,推荐使用2020-12-01及以上的稳定版本
内容的提问来源于stack exchange,提问作者mcr132
相关产品推荐
相关产品推荐

