首页 > 解决方案 > 逻辑应用失败,但 ADF 中调用此逻辑应用的 Web 活动具有成功状态

问题描述

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

adf 管道 -> Web 活动 -> 逻辑应用 http 触发器 -> 切换条件 -> 如果满足条件,则从 azure blob 存储中获取文件内容 -> 发送带有文件作为附件的电子邮件

我正在针对满足切换条件且文件不存在的情况测试此组件。逻辑应用按预期失败并出现资源未找到错误,但 Web 活动成功完成。

有没有人遇到过类似的情况,任何指针都会很有用。

标签: azureazure-logic-appsazure-data-factory-2

解决方案


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

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


推荐阅读