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

Azure Function运行失败时如何配置邮件通知?

Azure Function运行失败自动发邮件通知的配置方法

以下两种方案均可实现需求,无代码侵入的警报方案更推荐通用场景使用:

方案1:通过Azure Monitor警报配置(无代码修改)

  • 进入目标Function App的控制台页面,在左侧菜单栏找到「监视」分类下的警报选项
  • 点击页面顶部的创建 > 警报规则进入配置流程:
    1. 范围配置:确认当前范围已经选中你要监控的Function App,无需调整直接进入下一步
    2. 条件配置:点击「添加条件」,在信号列表中搜索选择Function Invocations Failed(函数调用失败)指标,按照需求配置触发阈值:比如阈值设置为「大于0」,评估周期设置为1分钟,检查频率设置为1分钟,即只要1分钟内出现至少1次运行失败就触发告警
    3. 操作组配置:点击「添加操作组」,新建一个操作组后在「通知」分类下选择通知类型为电子邮件/短信/推送/语音,勾选电子邮件选项并填写接收通知的邮箱地址,保存操作组
    4. 规则详情配置:给警报规则命名,选择对应资源组后点击创建即可完成配置

配置完成后只要Function运行抛出未捕获异常导致调用失败,Azure会自动发送告警邮件到指定邮箱,你也可以自定义告警邮件的内容模板,补充运行ID、错误码等信息。

方案2:代码中内置异常捕获发通知(适合自定义内容需求)

如果你需要在通知中附带自定义参数、错误栈、请求上下文等信息,可以直接在Function代码中增加异常捕获逻辑,调用邮件接口发送通知,以C#为例的参考代码如下:

[FunctionName("YourFunctionName")]
public static async Task<IActionResult> Run(
    [HttpTrigger(AuthorizationLevel.Function, "get", "post", Route = null)] HttpRequest req,
    ILogger log, ExecutionContext context)
{
    try
    {
        // 你的原有业务逻辑
        string name = req.Query["name"];
        return new OkObjectResult($"Hello, {name}");
    }
    catch (Exception ex)
    {
        log.LogError(ex, "Function执行出现异常");
        // 调用SendGrid、Azure通信服务或者SMTP接口发送邮件,可自定义传入异常信息、函数名、运行时间等参数
        SendAlertMail(ex.Message, context.FunctionName, DateTime.UtcNow);
        throw; // 保留异常抛出逻辑,不影响原有链路的错误统计
    }
}

配置参考示意图:
配置参考示意图

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 10:39:04