你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

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

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

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

例如,假设你有一个工作流,当新项目出现在网站的 RSS 源上时,会发送过多的电子邮件。 仅当新项目包含特定单词时,才能添加 条件 作以发送电子邮件。

注释

如果想要指定多个路径供工作流选择,或者使用不局限于 true 或 false 的条件标准,请改用 切换操作

本指南演示如何向工作流添加条件,并使用结果来帮助工作流在两个作路径之间进行选择。

先决条件

添加条件

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

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

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

  3. 根据 添加触发器的常规步骤,添加您想要的触发器。

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

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

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

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

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

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

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

      屏幕截图显示了 Azure 门户、消费工作流设计器、RSS 触发器和条件操作以及条件的构建。

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

      此示例选择了“包含”

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

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

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

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

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

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

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

  6. TrueFalse 操作路径中,根据条件是 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"
         ]
      }
   }
},