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

適用於: Azure Logic Apps(取用)

若要根據物件、表達式或令牌的值執行特定動作,請新增 切換 動作。 此結構會評估對象、表達式或標記、選擇符合結果的案例,並且只針對該案例執行特定動作。 當切換動作執行時,只有一個案例應該符合結果。

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

提示

如同所有程式設計語言,切換動作只支援等號運算符。 如果您需要其他關係運算符,例如「大於」,請使用 條件動作。 為了確保具決定性的執行行為,案例必須包含唯一且靜態的值,而不是動態標記或表達式。

必要條件

新增切換動作

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

    當您想要在步驟之間新增切換動作時,將指標移至您要新增切換動作的箭號上方。 選擇出現的加號+),然後選擇 [新增動作]。

  2. 在搜尋方塊中,輸入 「switch」 作為篩選條件。 選取此動作: 切換 - 控制件

    Add switch

    切換動作會出現一個案例和預設案例。 根據預設,切換動作至少需要一個案例加上預設案例。

    Empty default switch action

  3. 按兩下 [ 開啟] 方塊內部,讓動態內容清單出現。 從該清單中,選取 [SelectedOption ] 字段,其輸出決定要執行的動作。

    Select

  4. 若要處理核准者選取 ApproveReject的情況,請在Case和Default之間新增另一個案例

    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" 指定案例的值,其必須是參數動作用於比較的常數和唯一值。 如果沒有符合參數表示式結果的情況,則會執行 區段中的 "default" 動作。

取得支援

下一步