You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Azure Synapse如何使用Web Activity查询REST API管道运行数据

Synapse Web Activity查询Pipeline运行信息及错误提取解决方案

1. 正确获取Pipeline RunID的方法

你当前获取的RunID与实际不一致,是因为取值场景和配置不匹配,对应两种场景的正确取值方式如下:

  • 若要获取当前运行的主管道自身的RunID,直接使用系统变量:
    @pipeline().RunId
    该变量为全局系统生成,直接对应当前管道运行实例,不会出现ID不匹配问题。
  • 若要获取Execute Pipeline活动调用的子管道的RunID,必须先勾选Execute Pipeline活动配置页的「等待完成」(Wait on completion)选项,再取值:
    @activity('Execute Pipeline1').output.pipelineRunId
    未勾选「等待完成」时,该字段返回的是触发请求的标识而非子管道实际运行ID,就是你遇到的ID不一致问题的根源。

2. 刚运行完成的Pipeline查询无结果的解决方法

Synapse的运行数据同步到监控层存在10秒到2分钟的延迟,管道刚完成时立刻调用查询接口会返回空或404,可通过两种方式解决:

  • 方案1:在调用查询用的Web Activity前,添加一个等待活动(Wait Activity),设置等待时长30~60秒即可覆盖绝大多数同步延迟场景。
  • 方案2:用Until活动做轮询查询,设置循环条件为接口返回非空结果或达到最大重试次数(建议设置最多重试5次,每次间隔15秒),避免固定等待时间过长或过短。

3. Web Activity配置及错误提取说明

基础配置要求

  • 请求方法选GET,URL格式为 https://<你的工作区名称>.dev.azuresynapse.net/pipelineruns/@{<你获取的RunID>}?api-version=2020-12-01
  • 认证方式选择「系统分配的托管身份」,资源字段填写 https://dev.azuresynapse.net
  • 需要提前为工作区的系统托管身份分配「Synapse 监控操作员」角色,避免权限报错。

错误信息提取

接口返回成功后,管道运行失败的错误信息可以通过以下表达式提取:
@activity('你的Web活动名称').output.error.message
如果是嵌套错误,可根据返回的JSON结构逐层取值即可。


内容的提问来源于stack exchange,提问作者John Stud

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 06:15:06