gpt4 book ai didi

azure-logic-apps - 出现错误时停止 foreach 中的逻辑应用程序执行

转载 作者:行者123 更新时间:2023-12-02 00:56:04 27 4
gpt4 key购买 nike

我正在构建一个逻辑应用程序,其中包含同步样式的 foreach 循环(一次只能执行一次,并发性 = 1)。在每个 foreach 循环中,都有一个 switch 语句,它根据 foreach 循环正在迭代的项目的内容调用不同的子逻辑应用程序。

我发现,如果其中一个子逻辑应用程序失败,foreach 循环会继续进行,就好像什么都没发生一样,执行由数组内容决定的后续任务。我找不到任何方法来停止(中断)foreach 的执行或基于 foreach 循环中的一个子逻辑应用程序的故障终止整个逻辑应用程序。

如果同一个子逻辑应用程序在没有进入 foreach 循环的情况下失败,则父逻辑应用程序的执行将停止。这似乎是一个非常奇怪的设计决策,并且与逻辑应用程序执行在循环内外的行为方式不一致。

附加说明:雪上加霜的是,当您执行子逻辑应用程序时,即使它是 HTTP 触发器和响应,您似乎也无法访问它在调用中返回的 HTTP 状态代码(父)逻辑应用程序。因此,即使我想手动测试循环中的每个案例,我也不知道该怎么做。

最佳答案

我想出了一个解决方法。

我使用 Scope 操作将 switch 语句(在其中调用我的子逻辑应用程序)封装在 foreach 中。 Scope 操作从其内部的任何内容“继承”失败。

在 Scope 之后,在 foreach 的末尾,我测试了 Scope 的状态。如果失败,我将一个“break”变量(在 Logic App 开始时初始化为 false)设置为“true”。

在每次 foreach 迭代开始时,我检查“break”变量。如果为“true”,则跳过 foreach 中的所有内容。

关于azure-logic-apps - 出现错误时停止 foreach 中的逻辑应用程序执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54203358/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com