Azure逻辑应用HTTP请求500

标签 azure azure-logic-apps

我是 Azure 逻辑应用的新手,因此这个示例可能看起来没那么有用,但它只是为了学习一些基本的 Azure 逻辑。

我有一个简单的 HTTP 监听器(当收到 HTTP 请求时) 它应该向某个服务发送另一个 HTTP GET 请求并向第一个调用者发送响应。 它看起来像这样: /image/sVQOR.jpg

现在一切正常,直到我发送错误的数据或逻辑应用程序从 HTTP 请求中收到 500 HTTP 错误。

逻辑应用程序在 HTTP 请求中挂起大约 1 分钟并失败。 之后的响应永远不会发送。

如何将逻辑应用返回的响应转发给请求逻辑应用的请求者?

最佳答案

默认情况下,逻辑应用会重试任何失败的请求 4 次,因此当 http 服务返回错误 5xx 时,您会看到运行时间增加。您可以使用自定义重试策略配置此行为。查看更多https://azure.microsoft.com/en-us/updates/customizable-retry-policies-in-logic-apps/

默认情况下,逻辑应用步骤依赖于任何相关操作的成功。这会导致当 http 操作失败时您的响应操作被跳过。

您有几个选项可以解决此问题:

  1. 在代码 View 中,您可以更新 runAfter 属性,以便无论 http 操作是否成功,该操作都会运行

    "runAfter": { "Condition": [ "Succeeded", "Failed" ] }
    
  2. 在 http 操作的 http 状态代码上向逻辑应用添加条件,然后为每种情况指定一个专用的响应操作

关于Azure逻辑应用HTTP请求500,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39484992/

相关文章:

azure - Azure 逻辑应用中服务总线连接器的消息处理策略

azure - 将 azure 函数输出参数与 Dropbox 连接器结合使用

c# - 我们可以使用 Kudu 将 C# 7 Web 应用程序部署到 Azure 吗?

Azure逻辑应用程序无法引用sql getrows中的表列

azure - 除了注册 Active Directory 之外,还有其他方法可以获取 azure clientID 吗?

azure - 有没有好的 Multi-Tenancy Azure 示例应用程序?

terraform - 如何使用 Terraform 将多个自定义操作添加到 Azure 逻辑应用程序?

azure - 如何授予应用程序创建 Azure 逻辑应用程序的权限

Azure AD B2C Graph API 检索用户是否具有 MFA

Azure 到 Auth0 连接 - 提供的客户端 key 无效