逻辑应用程序失败,但调用此逻辑应用程序的 ADF 中的 Web activity 具有成功状态

Logic App failed but the web activity in ADF calling this logic app has success status

我在 ADF 管道中有一个 Web activity,它调用逻辑应用程序根据某些切换条件从 Azure Blob 存储中获取文件,并发送电子邮件通知并将该文件作为附件。

adf 管道 -> web activity -> 逻辑应用程序 http 触发器 -> 切换条件 -> 如果满足条件,则从 azure blob 存储中获取文件内容 -> 将文件作为附件发送电子邮件

我在满足切换条件且文件不存在的情况下测试此组件。逻辑应用程序按预期失败并出现资源未找到错误,但网络 activity 成功完成。

有没有人遇到过类似情况,指点一下。

您的 http 触发逻辑应用默认是异步的。这意味着当您调用 API/logic 应用程序时,您将收到一个 201 响应代码,指示逻辑应用程序已收到请求但不指示它是否已完成请求处理。这就是您的情况。要确认,您可以检查响应代码是否为 201。当您尝试通过 Postman 的请求执行逻辑应用时,行为类似。

要解决此问题,您需要使逻辑应用同步。为此,您需要在逻辑应用的末尾添加成功响应步骤以响应 200。您需要添加额外的响应步骤以在逻辑应用可能失败的任何地方使用失败响应代码进行响应。您可以参考如何使用此 LINK.

设置您的逻辑应用程序