azure - 逻辑应用程序的 Until 循环限制到底如何工作?

标签 azure azure-logic-apps serverless azure-container-instances

我有一个带有 Until 操作的逻辑应用程序,用于保持循环直到满足条件(在本例中,当 Azure 容器实例的状态为“已终止”时)。我已将限制“计数”更改为 600。我将“超时”保留为默认值 (PT1H)。在其他操作中,“直到”操作包含一个“延迟”操作,我将其设置为 1 秒。所以理论上数学是:600 x 1 秒 = 最多 10 分钟。正确的?我在下午晚些时候触发了逻辑应用程序并回家了。回到家查看运行情况,发现跑了26分钟!看截图:

Until action in Logic App

那么,谁能解释一下吗?预先感谢您的回复。

更新#1:针对每个信息 Until 内的 For Each 循环遍历组中的容器(只有 1 个容器),并将容器的状态放入变量中(用于 Until 的条件)。就是这样。

更新 #2:所有操作逻辑应用 逻辑应用程序的所有操作:

Logic App actions part 1 Logic App actions part 2 Logic App actions part 3

注意:对于敏锐的人来说,我确实还没有删除容器组。用于调试目的。

更新#3:初始化变量信息

Initialize Variable action

注意:此“状态”是容器组的状态,仅用于初始填充变量。在 Until 循环中,它填充了组内容器实例的状态。

更新 #4:获取 For Each 中的属性 Get Properties For Each

注意:在聊天中询问。

最佳答案

对于您的问题,您需要知道,当创建容器组的操作完成时,容器组可能不会处于终止状态,但操作已完成,因此状态将持续存在并且不再改变。

所以你需要在循环中始终获取状态。容器组的正确顺序应该是这样的:

  1. 创建容器组;
  2. 初始化变量currentState
  3. 创建循环,您的until设置条件是正确的,但是您需要将获取容器组属性的操作放在for-each循环中。因此,在 for-each 中,获取属性,设置变量的状态,然后延迟。

关于azure - 逻辑应用程序的 Until 循环限制到底如何工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60402339/

相关文章:

azure - Kubernetes 持久卷不显示真实容量

azure - 逻辑应用是否会再次尝试插入失败的记录?

azure - 为什么使用 Azure 逻辑应用时会超时?

amazon-web-services - GA 版本上的 Aurora Serverless 允许从互联网连接吗?

python - 管理 Azure 无服务器函数应用中的连接

node.js - 当 Node.js Express 应用程序作为由 serverless-http 包装的 Lambda 函数运行时出现路由问题?

sql - Azure 数据库连接错误。

azure - azure blob put 请求出现 403 禁止 web 异常

azure - 有没有办法将函数应用超时阈值从 30 分钟(默认)增加到 2 小时?我们已加入应用服务计划

azure - 如何从 ARM 模板创建具有事件网格订阅的逻辑应用程序