对Logic App中的Azure功能故障做出反应

时间:2017-05-04 19:50:58

标签: c# azure azure-functions azure-logic-apps

我有一个简单的逻辑应用程序在重复触发器上运行Azure函数(每天)。如果运行该功能时出现问题,我想向IT部门发送电子邮件。这是我的Logic App设置:

enter image description here

但是,每当出现错误时(例如,azure函数返回HTTP代码500,如下所示:)

return req.CreateResponse(HttpStatusCode.InternalServerError, new
        {
            error = $"{errorMessage}. {ex.Message}"
        });

逻辑应用程序流程在我检查状态代码并对其做出反应之前就停止了:

enter image description here

所以我的问题是:有没有办法处理Azure功能错误响应代码?

2 个答案:

答案 0 :(得分:5)

此失败的原因是默认情况下,Logic App Condition仅在上一步成功时执行。

您可以通过更新" runAfter"来覆盖此行为。条件包括"失败"状态。

转到代码视图并在json中添加更新错误条件的定义

                "runAfter": {
                "HTTP": [
                    "Failed",
                    "Succeeded"
                ]

答案 1 :(得分:1)

通过本周的Logic Apps更新,您可以指定"运行"条件在设计师内部并且不需要切换到代码视图。在您的情况下,只需移动" Gmail - 发送电子邮件"在功能操作之后立即执行该操作。然后点击" ..."在" Gmail的标题栏上 - 发送电子邮件"动作,你应该看到一个名为"配置运行"的选项。检查"失败"如果函数调用失败,将执行电子邮件操作。