共用方式為


新增條件以控制 Azure Logic Apps 中的工作流程動作執行

適用於:Azure Logic Apps (使用量 + 標準)

當您想要設定一個條件,該條件會傳回 true 或 false 並決定您的工作流程是執行此動作路徑還是另一個動作路徑時,可將名為 ConditionControl 動作新增到您的工作流程中。 您也可以讓條件彼此巢狀化。

例如,假設在網站的 RSS 摘要上出現新項目時,您的工作流程傳送過多電子郵件給您。 只有當新專案包含特定單字時,才可以新增 [條件] 動作來傳送電子郵件。

備註

如果您想要指定多個路徑讓工作流程可以選擇,或條件準則不限於 true 或 false,請使用 切換 動作

本指南說明如何將條件新增至您的工作流程,並使用結果協助您的工作流程在兩個動作路徑之間進行選擇。

先決條件

新增條件

  1. Azure 入口網站中,開啟您的使用量邏輯應用程式資源。

  2. 在側邊選單的 開發工具 下,選擇設計器以開啟空白工作流程。

    此範例會使用名為 「當摘要項目發佈時」RSS 觸發程式來啟動工作流程。 不過,您可以在自己的案例中使用任何您想要的觸發器。

  3. 依照新增觸發程式的一般步驟,添加您想要的觸發程式。

  4. 遵循新增動作的一般步驟,將 [條件] 動作新增至工作流程。

  5. 在 [ 條件 ] 動作中,遵循下列步驟來建置您的條件:

    1. 在名為 [選擇值] 的左側方塊中,輸入您想要比較的第一個值或字段。

      在 [ 選擇值] 方塊內選取之後,就會顯示開啟動態內容清單(閃電圖示)或表達式編輯器(公式圖示)的選項。

      顯示 Azure 入口網站、使用量工作流程設計工具、RSS 觸發程序和 [條件] 動作的螢幕擷取畫面,其中資訊窗格為開啟狀態,且動態內容按鈕為選取狀態。

    2. 選取閃電圖示以開啟動態內容清單。

      您可以從此清單中選取工作流程中先前步驟的輸出。 此範例會選取名為摘要RSS 觸發器輸出。 如果您沒有看到此選項,您可能需要選取 [查看更多]。

      顯示 Azure 入口網站、使用量工作流程設計工具、RSS 觸發程序和 [條件] 動作的螢幕擷取畫面,其中包含準則建構。

    3. 從中間方塊中,選取要執行的作業。

      此範例會選取 contains

    4. 在名為 [選擇值] 的右側方塊中,輸入您想要與第一個比較的值或字段。

      此範例會指定下列字串: Microsoft

    下列範例顯示完整條件:

    顯示使用量工作流程和完整條件準則的螢幕擷取畫面。

    • 若要將另一個數據列新增至您的條件,請從 [ 新增專案 ] 功能表中,選取 [新增數據列]。

    • 若要新增具有子條件的群組,請從 [ 新增專案 ] 功能選取 [ 新增群組]。

    • 若要將現有數據列分組,請選取這些數據列的複選框、選取任何數據列的省略號 (...) 按鈕,然後選取 [ 建立群組]。

  6. 在 True 和 False 動作路徑中,根據條件為 true 或 false,分別新增您想要執行的動作,例如:

    此螢幕擷取畫面顯示使用量工作流程,以及具有 true 和 false 路徑的條件。

    小提示

    您可以將現有的動作拖曳至 TrueFalse 路徑。

  7. 儲存您的工作流程。 在設計師工具列上選取儲存

現在,只有當 RSS 摘要中的新項目符合您的條件時,此工作流程才會傳送電子郵件。

JSON 定義

下列程式代碼顯示 條件 動作的高階 JSON 定義。 如需完整定義,請參閱 If action - Azure Logic Apps 中觸發程式和動作類型的架構參考指南

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