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

Azure Data Factory管道:ForEach失败时未触发失败邮件通知问题

问题解决:Azure Data Factory 管道失败邮件未触发及错误信息获取错误

一、解决失败邮件无法接收的问题

1. 确认失败分支的流转配置

  • 两种配置方式任选其一:
    • 全局管道失败触发:点击画布空白区域,在右侧「管道设置」中,将「失败时的活动」设置为发送失败邮件的活动。此配置会在管道内任意活动失败时,自动触发邮件通知。
    • ForEach单独失败分支:点击ForEach活动的红色失败箭头,直接连接到发送失败邮件的活动。仅当ForEach活动失败时触发邮件。
  • 验证邮件活动本身:由于成功邮件可正常接收,SMTP、收件人等配置大概率无问题,但可检查邮件活动的「依赖条件」是否误设置了额外限制。

2. 检查ForEach的错误处理模式

默认情况下,ForEach中任一迭代失败会导致整个活动失败,此行为符合你的需求。无需修改「失败时继续」选项,确保失败信号能正常传递到邮件活动即可。

二、正确获取动态错误信息

你之前使用的@{activity('Lookup').output.message存在属性引用错误:活动的错误信息存储在error对象而非output中,且需引用实际失败的活动。根据场景选择以下表达式:

  • 获取整个管道的错误信息:
    "ErrorMessage": "@{pipeline().Error.Message}"
    
  • 获取ForEach活动的错误信息:
    "ErrorMessage": "@{activity('<你的ForEach活动名称>').error.message}"
    
  • 注意:若Lookup活动未失败,强行引用其error属性会触发报错,务必确保引用的是实际失败的活动对象。

三、验证步骤

  1. 构造失败场景:手动让Stored Procedure执行失败(如传入非法参数),触发ForEach活动失败。
  2. 查看监控日志:在ADF「监控」面板中,确认ForEach活动标记为失败,且发送失败邮件的活动已被执行。若邮件活动未执行,检查分支连接;若已执行但未收到邮件,查看邮件活动的运行日志排查问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 02:01:18