0

我了解 Azure 标准有状态逻辑应用程序工作流异步运行,但我可以将有状态标准逻辑应用程序用于以下场景:

我们希望在 HTTP 发布请求中从第三方接收 Json 数据,然后对其进行处理并将其存储在 Azure 数据湖中。但问题在于,一旦点击 http 触发器,Azure 标准有状态工作流就会异步运行,它会返回 Status 202 Accepted。我想发送请求的呼叫者结束状态。例如 - 我想在请求有效时发送 500 内部服务器错误,但由于内部错误,工作流仍然失败。如果数据处理成功,我想向调用者发送 HTTP Status 200 Ok。我不想总是向调用者发送 HTTP 状态 202 Accepted。我希望调用者知道他们的 HTTP 请求到底发生了什么。是否可以通过标准逻辑应用程序?由于安全原因,我不想使用消费逻辑应用程序。

4

1 回答 1

0

您可以使用 runafter 配置实现此目的,方法是启用此配置,即使在整个工作流程失败后它也会运行。

转到您的工作流程并为您要运行的操作选择菜单,无论前一个操作是否即将失败、超时或跳过。在我的情况下是条件,然后是“配置运行后”。

例如,这是我的逻辑应用程序

在此处输入图像描述

在此处输入图像描述

这是我的代码视图的样子:

在此处输入图像描述

输出:

在此处输入图像描述

更新的答案

在这种情况下,您也可以使用相同的 runafter 概念,其中状态码不等于 200 的条件作为 true 语句并继续流程

这是逻辑应用程序 在此处输入图像描述

在此处输入图像描述

这是输出

在此处输入图像描述

在此处输入图像描述

于 2022-01-12T03:27:16.590 回答