在 Azure 逻辑应用中创建并行分支或将其与工作流操作联接

适用范围:Azure 逻辑应用(消耗型 + 标准型)

默认情况下,逻辑应用工作流中的操作按顺序运行。 若要将操作组织到单独的分支中并同时运行这些分支,可以创建并行分支,稍后在工作流中联接这些分支

本指南演示如何在工作流中创建并行分支并重新联接这些分支,如此概要关系图中所示:

Screenshot shows high-level conceptual diagram with parallel branches that later join in workflow.

提示

如果工作流触发器收到一个数组,并且你想要为数组中的每个项运行工作流实例,而不是创建并行分支,则可以通过 SplitOn 触发器属性来改为取消批处理该数组

先决条件

  • Azure 订阅。 如果没有订阅,可以注册 Azure 帐户

  • 一个逻辑应用工作流,该工作流初始包含触发器和所需操作。 确保该工作流包含你要在之间添加并行分支的操作。

使用并行分支时的注意事项

  • 并行分支只有在 runAfter 属性值与父操作的完成状态匹配时才运行。 例如,只有在 parentAction 完成并显示“成功”状态时,才开始运行初始包含 branchAction1 和 branchAction2 的两个分支

  • 工作流等待同一级别的所有并行分支完成,然后再运行联接这些分支的操作。

添加并行分支操作

  1. Azure 门户中,打开设计器中的标准逻辑应用和工作流。

  2. 在要添加并行分支的操作之间,将指针移到连接箭头上。

  3. 选择出现的加号 (+),然后选择“添加并行分支”

    Screenshot shows Standard workflow with selected plus sign and selected option, Add a parallel branch.

  4. 现在,添加要在并行分支中运行的操作。 在“添加操作”窗格和搜索框中,找到并选择所需的操作

    Screenshot shows Standard workflow with search box named Choose an operation.

    现在,所选操作将在并行分支中显示,例如:

    Screenshot shows Standard workflow, parallel branch, and previously selected action.

  5. 若要将另一个操作添加到并行分支,请在要添加新操作的操作下,选择加号 (+),然后选择“添加操作”

    Screenshot shows Standard workflow and how to add another action to the same parallel branch.

  6. 在“选择操作”搜索框中,找到并选择所需的操作

    现在,所选操作将在当前分支中显示,例如:

    Screenshot shows Standard workflow with added sequential action.

若要将分支重新合并在一起,请联接平行分支

并行分支定义 (JSON)

如果正在代码视图中操作,可以改为在逻辑应用工作流的 JSON 定义中定义并行结构,例如:

{
  "triggers": {
    "myTrigger": {}
  },
  "actions": {
    "parentAction": {
      "type": "<action-type>",
      "inputs": {},
      "runAfter": {}
    },
    "branchAction1": {
      "type": "<action-type>",
      "inputs": {},
      "runAfter": {
        "parentAction": [
          "Succeeded"
        ]
      }
    },
    "branchAction2": {
      "type": "<action-type>",
      "inputs": {},
      "runAfter": {
        "parentAction": [
          "Succeeded"
        ]
      }
    }
  },
  "outputs": {}
}

联接并行分支

若要将并行分支合并在一起,请在所有分支下添加另一个操作。 此操作仅在上述所有并行分支完成运行后运行。

  1. Azure 门户中,打开标准逻辑应用以及包含要在设计器中联接的并行分支的工作流。

  2. 在要联接的任何并行分支下,选择加号 (+),然后选择“添加操作”

    Screenshot shows Standard workflow with selected plus sign.

  3. 在“添加操作”窗格和搜索框中,找到并选择要用于联接分支的操作

    Screenshot shows Standard workflow, search box named Choose an operation, and available actions for joining parallel branches.

  4. 在设计器上,选择之前添加的操作。 操作的信息窗格打开后,选择“设置”

  5. 在“设置”窗格的“开始运行前的操作”下,打开“选择操作”列表,然后在每个分支中选择在联接操作运行前必须完成的最后一个操作

    你将有效地指定联接操作仅在所有所选操作完成运行后运行。

    Screenshot shows Standard workflow, the action that joins preceding parallel branches, and selected actions to first finish running.

    完成后,所选操作现在显示在要联接的并行分支下,例如:

    Screenshot shows Standard workflow with the action that joins the preceding parallel branches.

联接定义 (JSON)

如果正在代码视图中操作,可以改为在逻辑应用工作流的 JSON 定义中定义联接操作,例如:

{
  "triggers": {
    "myTrigger": { }
  },
  "actions": {
    "parentAction": {
      "type": "<action-type>",
      "inputs": { },
      "runAfter": {}
    },
    "branchAction1": {
      "type": "<action-type>",
      "inputs": { },
      "runAfter": {
        "parentAction": [
          "Succeeded"
        ]
      }
    },
    "branchAction2": {
      "type": "<action-type>",
      "inputs": { },
      "runAfter": {
        "parentAction": [
          "Succeeded"
        ]
      }
    },
    "joinAction": {
      "type": "<action-type>",
      "inputs": { },
      "runAfter": {
        "branchAction1": [
          "Succeeded"
        ],
        "branchAction2": [
          "Succeeded"
        ]
      }
    }
  },
  "outputs": {}
}

后续步骤