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

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

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

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

屏幕截图显示了高级概念图,其中包含稍后加入工作流的并行分支。

提示

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

先决条件

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

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

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

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

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

添加并行分支操作

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

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

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

    屏幕截图显示了“标准”工作流,其中选择了加号和所选选项“添加并行分支”。

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

    屏幕截图显示了名为“选择操作”的搜索框的标准工作流。

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

    屏幕截图显示了标准工作流、并行分支和以前选择的操作。

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

    屏幕截图显示了标准工作流以及如何将另一个操作添加到同一并行分支。

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

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

    屏幕截图显示了添加了顺序操作的标准工作流。

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

并行分支定义 (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. 在要联接的任何并行分支下,选择加号 (+),然后选择“添加操作”

    屏幕截图显示了选中了加号的标准工作流。

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

    屏幕截图显示标准工作流、名为“选择操作”的搜索框以及用于联接并行分支的可用操作。

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

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

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

    屏幕截图显示了标准工作流、联接前面并行分支的操作以及要首先完成运行的选定操作。

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

    屏幕截图显示了标准工作流,其中包含联接上述并行分支的操作。

联接定义 (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": {}
}

后续步骤