다음을 통해 공유

在 Azure 逻辑应用中创建或联接工作流作的并行分支

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

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

本指南演示如何在工作流中创建并行分支并重新加入这些分支,如以下示例工作流所示:

屏幕截图显示了一个示例工作流,其中包含稍后合并到一起的并行分支。

提示

在你具有可接收和访问数组的工作流触发器,并需要为每个数组项运行单独工作流实例的方案中,可以对数组进行解批操作,以此作为分支的替代方法。 在支持此功能的触发器上,你可以在设计器中启用“拆分依据”设置,这会映射到触发器定义中的 属性。splitOn 只有可以接受和返回数组的触发器才支持此功能。 有关详细信息,请参阅 在数组上触发多个运行

先决条件

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

  • 仅当 runAfter 并行分支的属性值与父作的完成状态匹配时,并行分支才会运行。 例如,仅当 parentAction 以“成功”状态完成时,分支 BranchAction1branchAction2 才会运行。

  • 工作流会等待同一级别的所有并行分支完成,然后运行用于合并这些分支的动作。

添加并行分支操作

  1. Azure 门户中,打开你的逻辑应用资源。

  2. 根据您使用的是消耗型还是标准型逻辑应用,请执行相应的步骤。

    • 消耗

      • 在资源边栏上的 “开发工具”下,选择设计器以打开工作流。
    • 标准

      1. 在资源边栏的“工作流”下,选择“工作流”。

      2. “工作流 ”页上,选择一个工作流。

      3. 在工作流边栏上的 “工具”下,选择设计器以打开工作流。

  3. 在要添加并行分支的作之间,将鼠标悬停在连接箭头上。

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

    屏幕截图显示了具有所选加号和选定选项的工作流,添加并行分支。

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

    屏幕截图显示了一个包含名为“选择一个操作”的搜索框的工作流。

    所选操作现在显示在并行分支中。

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

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

    屏幕截图显示了一个工作流,以及如何在同一并行分支中添加另一个动作。

  7. 在“添加操作”窗格和搜索框中,找到并选择所需的操作

    所选操作现在显示在当前的分支中。

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

要将分支重新合并,请联接并行分支,如以下部分所示。

并行分支定义 (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": {}
}