分享方式:


建立切換動作,以根據 Azure Logic Apps 中的特定值執行工作流程動作

適用於:Azure Logic Apps (使用量)

若要根據物件、運算式或權杖的值執行特定動作,請新增「切換」動作。 此結構會評估物件、運算式或權杖,然後選擇符合結果的案例,並只針對該案例執行特定動作。 切換動作執行時,應該只會有一個案例符合結果。

例如,假設您想要讓邏輯應用程式根據電子郵件中所選的選項,採取不同的步驟。 在此範例中,邏輯應用程式會檢查網站的 RSS 摘要是否有新內容。 當 RSS 摘要中出現新項目時,邏輯應用程式會傳送電子郵件給核准者。 根據核准者選取「核准」或「拒絕」,邏輯應用程式會遵循不同的步驟。

提示

如同所有的程式設計語言,切換動作僅支援等號比較運算子。 如果您需要如「大於」的其他關係運算子,請使用條件動作。 若要確認確定性執行行為,案例必須包含唯一且靜態的值,而不是動態的權杖或運算式。

必要條件

  • Azure 訂用帳戶。 如果您沒有訂用帳戶,請註冊一個免費的 Azure 帳戶

  • 若要遵循本文中的範例,請使用 Outlook.com 帳戶或者公司或學校帳戶建立範例使用量邏輯應用程式工作流程

    1. 當您新增要傳送電子郵件的動作時,請改為尋找並選取下列動作:傳送核准電子郵件

      Select

    2. 提供必要的欄位,例如核准電子郵件收件者的電子郵件地址。 在 [使用者選項] 下,輸入「核准、拒絕」。

      Enter email details

新增切換動作

  1. 例如,在範例工作流程結尾新增一個切換動作。 在最後一個步驟之後,選擇 [新增步驟]

    如果您要在步驟之間新增切換動作,請將指標移您要新增切換動作的箭號上。 選擇顯示的加號 (+) ,然後選擇 [新增動作]

  2. 在搜尋方塊中,輸入 "switch" 作為篩選條件。 選取此動作:Switch - 控制項

    Add switch

    切換動作顯示時,會有一個案例和一個預設案例。 根據預設,切換動作需要至少一個案例加上預設案例。

    Empty default switch action

  3. 在 [依據] 方塊內按一下,動態內容清單隨即顯示。 從該清單中,選取 [SelectedOption] 欄位,其輸出會決定要執行的動作。

    Select

  4. 若要處理核准者選取 ApproveReject 的這類案例,可在 [案例] 和 [預設] 之間新增另一個案例。

    Add another case

  5. 將這些動作新增至對應的案例:

    案例 SelectedOption 動作
    情況 1 核准 新增 Outlook 傳送電子郵件動作,只在核准者選取核准時傳送 RSS 項目的詳細資料。
    案例 2 拒絕 新增 Outlook 傳送電子郵件動作,通知其他核准者 RSS 項目遭到拒絕。
    預設 不需要採取任何動作。 在此範例中,[預設] 案例為空白,因為 SelectedOption 只有兩個選項。

    Finished switch action

  6. 儲存邏輯應用程式。

    若要手動測試此範例,請選擇 [執行],直到邏輯應用程式找到新 RSS 項目並傳送核准電子郵件為止。 選取 [核准] 來觀察結果。

JSON 定義

現在,您已使用切換動作建立邏輯應用程式,讓我們看看切換動作後面的程式碼定義概觀。

"Switch": {
   "type": "Switch",
   "expression": "@body('Send_approval_email')?['SelectedOption']",
   "cases": {
      "Case": {
         "actions": {
           "Send_an_email": {}
         },
         "case" : "Approve"
      },
      "Case_2": {
         "actions": {
           "Send_an_email_2": {}
         },
         "case": "Reject"
      }
   },
   "default": {
      "actions": {}
   },
   "runAfter": {
      "Send_approval_email": [
         "Succeeded"
      ]
   }
}
Label 描述
"Switch" 切換動作的名稱,您可以將它重新命名以增加可讀性
"type": "Switch" 指出動作是切換動作
"expression" 在此範例中用來指定核准者選取的選項,並且會針對稍後在定義中宣告的每個案例進行評估
"cases" 定義任意數目的案例。 針對每個案例,"Case_*" 是該案例的預設名稱,您可以將它重新命名以增加可讀性
"case" 指定案例的值,必須為常數且唯一的值,切換動作會比對此值。 如果沒有案例符合 Switch 運算式的結果,則會執行 "default" 中的動作。

取得支援

下一步