Logic App Standard:启用后无法关闭 Trigger Concurrency

发布: (2025年12月12日 GMT+8 19:49)
3 min read
原文: Dev.to

Source: Dev.to

问题概述

在使用 Azure Logic Apps Standard 时,回滚工作流并尝试关闭先前配置的触发器并发限制可能会遇到问题。

  • 触发器并发限制已在工作流中设置。
  • 工作流能够正常运行。
  • 在回滚时尝试移除并发配置会导致 保存发布 操作失败。

错误示例

Trigger concurrency runtime configuration cannot be removed

产生原因

在 Logic Apps Standard 中,触发器并发被视为 运行时配置。一旦启用:

  • 该配置即为不可变。
  • 不能关闭。
  • 回滚到没有并发设置的工作流版本会被阻止。

这是平台的预期行为。

影响

  • 删除并重新创建不含并发限制的 Logic App 工作流可以解决此问题,但这会 删除整个运行历史,导致运营和审计连续性中断。
  • 在许多生产环境中,丢失运行历史是不可接受的。

变通方法:编辑已部署的 workflow.json

可以在不删除 Logic App 或丢失运行历史的情况下,使已部署的工作流与 Azure 锁定的运行时配置保持一致。

步骤

  1. 在 Azure 门户中打开 Logic App
    Azure Portal → Logic App Standard

  2. 启动高级工具(Kudu)

    • 点击 Advanced ToolsGo
  3. 打开调试控制台

    • 选择 PowerShellCMD
  4. 定位工作流文件

    site/wwwroot/.../workflow.json
  5. 移除触发器并发配置
    找到 runtimeConfiguration 部分并删除 concurrency 块,例如:

    {
      "runtimeConfiguration": {
        "concurrency": {
          "runs": 5
        }
      }
    }

    删除后,该部分应完全省略或保持为空。

  6. 保存文件

  7. 重启 Logic App(如有必要)以使更改生效。

可视化帮助

以下 GIF 演示了使用 Kudu 控制台编辑工作流的过程:
(在此插入 GIF 或截图)

总结

  • 通过门户启用后,触发器并发无法关闭
  • 回滚移除并发的工作流会失败。
  • 直接编辑已部署的 workflow.json 可以删除运行时配置,使回滚成功,同时保留原有运行历史。

参考资料

  • Sandro Pereira 对平台限制的详细说明。
Back to Blog

相关文章

阅读更多 »

缺失问候之谜

源代码和设置 此练习的源代码可在 . 获取。您可以克隆仓库并按照其 README 的设置步骤,在您的环境中运行此序列。