从Azure功能发送电子邮件和记录例外

时间:2018-03-19 21:55:42

标签: azure exception-handling azure-functions

我有一个Azure函数,我将逻辑包装在try catch块中。 我可以将异常记录到Azure,但我想保存,然后将异常的详细信息发送到电子邮件地址。我看到我可以使用Elmah.io,但我必须按月付费。

Azure是否有简单的方法来记录数据,然后向我发送电子邮件?

像这样的东西

catch (Exception ex)
{
    log.Info($"Points Event Error: " + ex.Message);
    // send me email with details
}

2 个答案:

答案 0 :(得分:2)

最Azure功能的方法是使用Azure Functions SendGrid ouput binding

您可以按照该文章中的示例进行操作,但不要使用out参数而使用ICollector / IAsyncCollector,因为您只需要有条件地发送电子邮件。

我相信Send Grid有一个免费套餐可用于低使用率的场景。

答案 1 :(得分:1)

您可以考虑利用Functions' Application Insights integration,而不是希望利用SendGrid直接从您的函数向您发送有关例外的电子邮件。除了能够在Application Insights中set Alerts based on Exceptions之外,这还将为您提供额外的好处(性能跟踪,事件历史记录,跟踪日志记录)。这也意味着您的监控/警报不会融入您的功能中的业务逻辑中。

Application Insights有一个免费套餐,应该足以满足大多数用例。