添加条件以控制 Azure 逻辑应用中的工作流操作执行

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

如果要设置返回 true 或 false 的条件,并让结果确定工作流要运行哪个操作路径,请将名为“条件”的“控制”操作添加到工作流。 还可以将一个条件嵌套在另一个条件中。

例如,假设你有工作流,当网站的 RSS 源中出现新项时,该应用发送的电子邮件过多。 可以添加条件操作,以便仅在新项包含特定字词时才发送电子邮件。

备注

如果您想要指定多个路径,以便工作流可以从中进行选择,或指定不局限于真假条件的条件,请改用 切换 操作

本操作指南展示了如何向工作流添加条件,并使用结果帮助工作流从两个操作路径中进行选择。

先决条件

添加条件

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

  2. 在边栏菜单上的 “开发工具”下,选择设计器以打开空白工作流。

    此示例使用名为“发布源项时”的 RSS 触发器来启动工作流。 但是,可以在自己的方案中使用所需的任何触发器。

  3. 按照常规步骤添加所需的触发器。

  4. 按照常规步骤添加操作,将条件操作添加到工作流中。

  5. 在“条件”操作中,按照以下步骤生成条件:

    1. 在左侧的“选择值”框中,指定要比较的第一个值或字段。

      在“选择值”框中进行选择后,将显示用于打开动态内容列表(闪电图标)或表达式编辑器(公式图标)的选项。

      屏幕截图显示 Azure 门户、消耗工作流设计器、RSS 触发器和条件动作,其中已打开信息窗格,并且已选择动态内容按钮。

    2. 选择闪电图标打开动态内容列表。

      在此列表中,可以选择工作流中前面步骤的输出。 此示例选择名为源摘要RSS 触发器输出。 如果未看到此选项,可能需要选择“ 查看更多”。

      屏幕截图展示了 Azure 门户、消费工作流设计器、RSS 触发器,以及具有条件构造的条件动作。

    3. 在中间框中,选择要执行的操作。

      此示例选择了“包含”。

    4. 在右侧的“选择值”框中,输入要与第一个值比较的值或字段。

      此示例指定以下字符串:Microsoft

    以下示例显示了完整的条件:

    屏幕截图显示了消耗工作流和完整条件条件。

    • 若要将另一行添加到条件,请在 “新建项 ”菜单中选择“ 添加行”。

    • 若要添加具有子条件的组,请在 “新建项 ”菜单中选择“ 添加组”。

    • 要对现有行进行分组,请选中这些行的复选框,选择任意行的省略号 (...) 按钮,然后选择“生成组”。

  6. 在“True”和“False”操作路径中,根据条件是 true 还是 false 分别添加要运行的操作,例如:

    屏幕截图显示了消耗工作流以及具有 true 和 false 路径的条件。

    提示

    可以将现有操作拖动到TrueFalse路径。

  7. 保存工作流。 在设计器工具栏上选择“保存”。

现在此工作流仅当 RSS 源中的新项符合条件时才发送邮件。

JSON 定义

以下代码显示了“条件”操作的高级 JSON 定义。 有关完整定义,请参阅 If 操作 - 有关 Azure 逻辑应用中触发器和操作类型的架构参考指南

"actions": {
   "Condition": {
      "type": "If",
      "actions": {
         "Send_an_email_(V2)": {
            "inputs": {},
            "runAfter": {},
            "type": "ApiConnection"
         },
      },
      "expression": {
         "and": [ 
            {
               "contains": [ 
                  "@triggerBody()?['summary']",
                  "Microsoft"
               ]
            }
         ]
      },
      "runAfter": {
         "Condition": [
            "Succeeded"
         ]
      }
   }
},