建立切換動作,以根據 Azure Logic Apps 中的特定值執行工作流程動作
適用於:Azure Logic Apps (使用量)
若要根據物件、運算式或權杖的值執行特定動作,請新增「切換」動作。 此結構會評估物件、運算式或權杖,然後選擇符合結果的案例,並只針對該案例執行特定動作。 切換動作執行時,應該只會有一個案例符合結果。
例如,假設您想要讓邏輯應用程式根據電子郵件中所選的選項,採取不同的步驟。 在此範例中,邏輯應用程式會檢查網站的 RSS 摘要是否有新內容。 當 RSS 摘要中出現新項目時,邏輯應用程式會傳送電子郵件給核准者。 根據核准者選取「核准」或「拒絕」,邏輯應用程式會遵循不同的步驟。
提示
如同所有的程式設計語言,切換動作僅支援等號比較運算子。 如果您需要如「大於」的其他關係運算子,請使用條件動作。 若要確認確定性執行行為,案例必須包含唯一且靜態的值,而不是動態的權杖或運算式。
必要條件
Azure 訂用帳戶。 如果您沒有訂用帳戶,請註冊一個免費的 Azure 帳戶。
若要遵循本文中的範例,請使用 Outlook.com 帳戶或者公司或學校帳戶建立範例使用量邏輯應用程式工作流程。
當您新增要傳送電子郵件的動作時,請改為尋找並選取下列動作:傳送核准電子郵件
提供必要的欄位,例如核准電子郵件收件者的電子郵件地址。 在 [使用者選項] 下,輸入「核准、拒絕」。
新增切換動作
例如,在範例工作流程結尾新增一個切換動作。 在最後一個步驟之後,選擇 [新增步驟]。
如果您要在步驟之間新增切換動作,請將指標移您要新增切換動作的箭號上。 選擇顯示的加號 (+) ,然後選擇 [新增動作]。
在搜尋方塊中,輸入 "switch" 作為篩選條件。 選取此動作:Switch - 控制項
切換動作顯示時,會有一個案例和一個預設案例。 根據預設,切換動作需要至少一個案例加上預設案例。
在 [依據] 方塊內按一下,動態內容清單隨即顯示。 從該清單中,選取 [SelectedOption] 欄位,其輸出會決定要執行的動作。
若要處理核准者選取
Approve
或Reject
的這類案例,可在 [案例] 和 [預設] 之間新增另一個案例。將這些動作新增至對應的案例:
案例 SelectedOption 動作 情況 1 核准 新增 Outlook 傳送電子郵件動作,只在核准者選取核准時傳送 RSS 項目的詳細資料。 案例 2 拒絕 新增 Outlook 傳送電子郵件動作,通知其他核准者 RSS 項目遭到拒絕。 預設 無 不需要採取任何動作。 在此範例中,[預設] 案例為空白,因為 SelectedOption 只有兩個選項。 儲存邏輯應用程式。
若要手動測試此範例,請選擇 [執行],直到邏輯應用程式找到新 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" 中的動作。 |
取得支援
- 如有任何問題,請造訪 Microsoft 的 Azure Logic Apps 問與答頁面。
- 若要提交或票選功能與建議,請造訪 Azure Logic Apps 使用者意見反應網站。