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

Azure Data Factory中如何获取ForEach内部失败活动的真实错误信息

在Azure Data Factory中获取ForEach内部活动的真实错误信息

当通过Execute Pipeline活动调用包含ForEach的子管道失败时,默认提示过于笼统,可通过以下几种方式获取内部活动的真实错误:

1. 开启ForEach的详细错误捕获

  • 编辑子管道中的ForEach活动,切换到「设置」标签页,在「错误处理」部分勾选捕获详细错误选项。
  • 启用后,子管道失败时,父管道的Execute Pipeline活动输出会包含所有失败迭代的详细错误数据。你可以通过表达式(如@activity('Execute_Sub_Pipeline').output.failedActivities)直接访问具体错误信息,包括内部活动的错误代码、消息及迭代索引。

2. 在子管道中自定义错误收集逻辑

  • 给ForEach内部的核心活动添加「失败时」分支,使用Set Variable活动将错误详情(比如@activity('Inner_Activity').error.message)存入管道变量。
  • 如果是多迭代场景,可使用数组变量汇总所有错误;单迭代失败则直接传递错误内容。父管道通过Execute Pipeline的输出变量获取这些自定义的错误信息,替代默认的模糊提示。

3. 通过监控面板直接查看子管道日志

  • 进入ADF监控界面,找到失败的Execute Pipeline运行实例,点击进入对应的子管道运行详情。
  • 展开ForEach活动的运行记录,查看每个迭代的状态,点击失败的迭代项,即可看到内部活动的完整错误堆栈和具体报错信息,无需依赖父管道的提示文本。

4. 用Azure Monitor日志批量查询错误

  • 配置ADF诊断设置,将运行日志发送到Log Analytics工作区。
  • 编写Kusto查询提取ForEach内部的错误详情,示例:
    AzureDiagnostics
    | where ResourceProvider == "MICROSOFT.DATAFACTORY"
    | where OperationName == "ActivityRun"
    | where ActivityType == "ForEach"
    | where Status == "Failed"
    | project ActivityName, IterationIndex, ErrorMessage = parse_json(Properties).error.message
    
  • 这种方式适合批量排查多管道的ForEach错误,便于做趋势分析或自动化告警。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.21 08:07:08