Azure 逻辑应用程序 - 获取 500 内部服务器错误的响应正文

Posted

技术标签:

【中文标题】Azure 逻辑应用程序 - 获取 500 内部服务器错误的响应正文【英文标题】:Azure Logic App - Get Response Body with 500 Internal Server Error 【发布时间】:2022-01-06 12:30:38 【问题描述】:

即使我们收到 500 Internal Server Error,是否有任何方法可以在 Azure Logic App 中获取响应正文? 我以某种方式制作了逻辑应用程序,将问题的响应代码设置为 500,并在响应正文中添加了一些与错误相关的信息。我也尝试返回 504 网关超时,以防我可能遇到超时问题,但在非 200 响应代码的情况下,我总是收到空响应正文。 如果我们无法在设计错误的情况下看到响应正文,是否有更好的方法来设置和获取响应对象中的错误相关信息?

【问题讨论】:

【参考方案1】:

是的,您可以通过添加响应操作在 Azure 逻辑应用中获取响应正文。根据 Microsoft 文档的 Add a Response action 部分。

当您使用 Request 触发器处理入站请求时,您可以使用内置的 Response 操作对响应进行建模并将负载结果发送回调用方。

以下步骤将帮助您获取响应正文。

在逻辑应用设计器中,在要添加响应操作的步骤下,选择新建步骤

选择操作下,在搜索框中输入response作为过滤器,然后选择响应操作。

现在添加响应消息所需的任何值。对于Body,可以从动态内容列表中选择触发body输出。

我建议阅读Receive and respond to inbound HTTPS requests in Azure Logic Apps 文档以了解更多信息。

或者,您还可以在应用中出现 HTTP 500 错误时创建警报,并使用 Application Insights 通过 Azure Monitor 查看它。我还建议阅读此Handle errors and exceptions in Azure Logic Apps Microsoft 文档以获取更多信息。

【讨论】:

在出现 500 错误时手动设置正文也有助于在出现错误响应时接收正文。

以上是关于Azure 逻辑应用程序 - 获取 500 内部服务器错误的响应正文的主要内容,如果未能解决你的问题,请参考以下文章

Azure 逻辑应用 HTTP 请求 500

Azure 功能:运行/测试模式下出现 500 个内部内部服务器错误

上传到 Azure 存储时出现内部 500 错误

解决Azure Web App 500内部服务器错误超时问题并对其进行故障排除

500 /signalr/negotiate 在 Azure 中部署的应用程序

从 Azure 函数获取 401 时,Azure 逻辑应用停止执行