对 Logic App 中的 Azure Function 失败做出反应

Reacting to Azure Function failure in Logic App

我有一个简单的逻辑应用程序 运行 一个重复触发器(每天)的 Azure 函数。如果函数 运行 有问题,我想给 IT 部门发送电子邮件。这是我的逻辑应用设置:

但是,每当出现错误时(例如,azure 函数 returns 一个 HTTP 代码 500,就像这样:)

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

在我可以检查状态代码并对其作出反应之前,逻辑应用程序流程刚刚停止:

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

失败的原因是默认情况下逻辑应用程序条件仅在上一步成功时执行。

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

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

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

通过本周的逻辑应用程序更新,您可以直接在设计器中指定 "Run after" 条件,而无需切换到代码视图。在您的情况下,只需将 "Gmail - send email" 操作移到条件之外,就在 Function 操作之后。然后单击 "Gmail - send email" 操作标题栏上的“...”,您应该会看到一个名为 "Configure run after" 的选项。检查"has failed",如果函数调用失败,将执行电子邮件操作。