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

如何过滤ADFPipelineRun中已成功重跑的失败流水线记录?

解决方案

1. 利用ParentRunId原生字段关联重跑记录

ADF重跑的流水线运行日志中,ParentRunId字段会直接指向原失败运行的RunId——这是Azure原生自带的关联字段,无需修改任何流水线配置。

你可以通过Kusto查询(针对Log Analytics或Azure Monitor日志)关联失败记录与对应的成功重跑记录,过滤掉已修复的失败项:

ADFPipelineRun
| where Status == "Failed"
| project OriginalRunId = RunId, PipelineName, FailedTime = StartTime, Status
| join kind=leftouter (
    ADFPipelineRun
    | where Status == "Succeeded"
    | project ParentRunId, SucceededTime = StartTime, Status
) on $left.OriginalRunId == $right.ParentRunId
| where isnotempty(ParentRunId) // 仅保留有成功重跑的失败记录
| project PipelineName, FailedTime, SucceededTime, OriginalRunId, ParentRunId

基于这个查询,你可以调整监控规则,仅对无对应成功重跑记录的失败流水线触发告警,减少无效通知。

2. 通过ADF REST API补全重跑关联数据

如果部分场景下ParentRunId未正确填充,可调用ADF的Get Pipeline Run API:每个流水线运行的响应中包含reRunHistory属性,会列出关联的原运行ID与重跑记录。

你可以借助Azure Function编写轻量自动化脚本,定期批量查询失败的流水线运行,调用API获取关联信息后,将数据写入Log Analytics或存储账户,补充到现有日志体系中,实现统一查询。

3. 使用ADF内置Azure Monitor工作簿

ADF在Azure Monitor中提供了内置的流水线运行监控工作簿,其中已预配置重跑记录的关联逻辑,可直观展示失败运行及其重跑状态。你可以直接使用该工作簿,或自定义筛选规则,仅显示未被成功重跑的失败流水线,简化监控视图。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 16:55:27