如何在ADF管道运行超10分钟时触发邮件通知?
ADF管道内实现运行时长超10分钟的邮件告警方案
一、管道运行结束后检测时长(适用于单次执行的管道)
- 在管道起始处添加Set Variable活动,创建字符串变量
startTime,赋值为@utcNow(),记录启动时间。 - 放置你的核心业务活动(如数据复制、转换等)。
- 业务活动完成后,添加第二个Set Variable活动,创建整数变量
runDurationMinutes,用以下表达式计算运行分钟数:
(ticks函数返回时间刻度值,相减后转换为分钟单位)@div(sub(ticks(utcNow()), ticks(variables('startTime'))), 600000000) - 添加If Condition活动,设置判断条件为
@greater(variables('runDurationMinutes'), 10)。 - 在Condition的True分支中,添加Send Email活动(需提前配置Office 365 Outlook或SMTP类型的链接服务),填写告警邮件的收件人、主题和正文(可插入管道名称、实际运行时长等变量)。
二、长运行管道的中途实时检测(适用于循环/持续运行的管道)
- 同样在管道开头记录
startTime变量。 - 在循环活动(如Until或ForEach)的每次迭代中,插入时长计算的Set Variable活动,紧接着添加If Condition判断是否超过10分钟。
- 一旦触发条件,立即执行Send Email活动,也可按需添加Fail活动终止管道运行。
三、简化方案:结合Azure Monitor触发管道告警
如果需要监控管道卡住未结束的场景,可直接用Azure Monitor配置告警:
- 在Azure Monitor中创建针对ADF管道的警报规则,设置条件为“管道运行时长超过10分钟”。
- 将警报的动作组配置为触发目标ADF管道,该管道仅需包含Send Email活动完成告警发送。
内容的提问来源于stack exchange,提问作者Nezko1
相关产品推荐
相关产品推荐

