【Azure Logic App】特殊的方法来停止正常步骤无法停止的Workflow Job

问题描述

当标准版的Logic App在执行时候出现异常,无法正常停止的情况下的一种特殊的方式来停止Job。


image.png

比如在点击页面上的Cancel按钮时,报错 Bad Request({"error":{"code":"WorkflowRunCanNotBeCancelled","message":"The workflow 'xxxxxxxxxxx' run 'xxxxxxxxxxxxxxxxxxxxCU01' with state 'Failed' could not be canceled, because it is not active."}}) 等信息。

下面,分享一种特殊的方法来停止它!

问题解答

第一步:进入Logic App的Kudu页面,进入C:\home\site\wwwroot> 目录,选择 host.json 文件

1:Logic App --> Development Tools --> Advanced Tools, 点击Go


image.png

选择 Debug Console, 然后一步一步进入 wwwroot 目录,点击编辑案例,编辑 host.json 文件


image.png

第二步:为 host.json 添加 Jobs.SuspendedJobPartition 和 Jobs.CleanupJobPartition 参数

Jobs.SuspendedJobPartition 和 Jobs.CleanupJobPartition 的参数值格式为:"<WORKFLOWID>:2D<RUNID>", 注意,这些值都是需要大写。

示例内容如:

{
  "version": "2.0",
  "extensionBundle": {
    "id": "Microsoft.Azure.Functions.ExtensionBundle.Workflows",
    "version": "[1.*, 2.0.0)"
  },
  "extensions": {
    "workflow": {
      "settings": {
        "Jobs.SuspendedJobPartition": "XXXXXXXXXXXXXXXXXXXXXECFF:2DXXXXXXXXXXXXXXXXXXXXXXXXCU01",
        "Jobs.CleanupJobPartition": "XXXXXXXXXXXXXXXXXXXXXECFF:2DXXXXXXXXXXXXXXXXXXXXXXXXCU01"
      }
    }
  }
}

参考资料

Workflow Runs - Cancel - REST API (Azure Logic Apps) : https://learn.microsoft.com/en-us/rest/api/logic/workflow-runs/cancel?view=rest-logic-2016-06-01&tabs=HTTP

当在复杂的环境中面临问题,格物之道需:浊而静之徐清,安以动之徐生。 云中,恰是如此!

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容