適用於:Azure Logic Apps (使用量 + 標準)
若要根據物件、運算式或權杖的值執行不同的動作路徑,請將 切換 動作新增至您的工作流程。 此動作會評估物件、運算式或權杖,選擇符合結果的案例,並執行您為該案例定義的動作路徑。 切換動作執行時,應該只會有一個案例符合結果。
例如,假設您想要一個工作流程,根據電子郵件中選取的選項執行不同的動作路徑。 在此範例中,工作流程會使用 RSS 觸發程式來檢查網站的 RSS 摘要是否有新內容。 當新項目出現在 RSS 摘要中時,工作流程會傳送電子郵件給核准者。 根據核准者是否選取 「核准」 或「 拒絕」,工作流程會執行不同的動作。
秘訣
切換動作僅支援等值運算子。 如果您需要其他關聯式運算子 (例如 大於),請使用 條件動作。 為了確保確定性行為,案例必須包含唯一的靜態值,而不是動態記號或運算式。
先決條件
Azure 帳戶和訂閱。 如果您沒有訂用帳戶,請註冊一個免費的 Azure 帳戶。
若要遵循本文中的範例,請使用 Outlook.com 帳戶或者公司或學校帳戶建立範例使用量邏輯應用程式工作流程。
當您新增傳送電子郵件的動作時,請改為尋找並選取此動作: 傳送核准電子郵件。
提供下列資訊:
參數 為必填項目 價值觀 描述 至 Yes < 核准者電子郵件地址> 做出核准決定之人的電子郵件地址。 若要測試範例,請使用您自己的電子郵件地址進行測試。 主旨 否 < 電子郵件主旨> 電子郵件核准請求的主旨。 使用者選項 否 核准、拒絕 雖然是選用的,但請保留此範例的預設值。
新增切換動作
若要根據核准電子郵件中選取的選項變更工作流程執行路徑,請在範例工作流程結尾新增切換動作。
在設計工具上,遵循下列一般步驟,將名為 [切換] 的 [控制] 動作新增至您的工作流程。
[切換] 動作隨即顯示,並顯示空白的預設案例。 切換動作至少需要一個案例加上預設案例。 您稍後會新增更多案例。
如果未選取 [切換] 動作,以便開啟資訊窗格,請選取 [切換] 標題列。
在 參數 索引標籤上,選取 開啟 方塊內,然後選取閃電圖示以開啟動態內容清單。 從該清單中, 在傳送核准電子郵件下,選取 SelectedOption 欄位。
SelectedOption 欄位會儲存核准者選取的值,並決定要執行的動作案例。
若要處理核准者選取「 核准」 或「 拒絕」的案例,請為每個選項新增案例。 在 預設 案例旁邊,選取加號 (+) 符號,然後選取 新增案例。
將這些動作新增至對應的案例:
案例 SelectedOption 動作 案例 核准 新增 Outlook 傳送電子郵件動作,只在核准者選取核准時傳送 RSS 項目的詳細資料。 案例 2 拒絕 新增 Outlook 傳送電子郵件動作,通知其他核准者 RSS 項目遭到拒絕。 預設 None 不需採取任何動作。 在此範例中,[預設] 案例為空白,因為 SelectedOption 只有兩個選項。
儲存您的工作流程。
若要測試此範例,請在設計工具列上選取 [執行>執行] ,直到觸發程式偵測到新的 RSS 專案並傳送核准電子郵件給您為止。 選取 [核准] 來觀察結果。
JSON 定義
現在您已建立具有 「切換」 動作的工作流程,請檢閱此動作背後的 JavaScript 物件表示法 (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"
]
}
}
| 標籤 | 描述 |
|---|---|
"Switch" |
動作的 Switch 預設名稱,您可以重新命名以更好地描述動作的用途。 |
"type": "Switch" |
指定動作類型,即 Switch 動作。 |
"expression" |
在此範例中,指定核准者選取的選項, Switch 動作會針對定義稍後宣告的每一個案例進行評估。 |
"cases" |
定義任意數目的案例。 對於每一個案例, "Case_*" 都是該案例的預設名稱,您可以重新命名以更清楚描述案例的用途。 |
"case" |
指定範例的值,此值必須是用於動作比較的常數且唯一的值。 如果沒有案例符合 Switch 運算式的結果,則會執行 "default" 中的動作。 |