共用方式為


設定切換動作,以根據 Azure Logic Apps 工作流程中的特定值來執行不同的動作路徑

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

若要根據物件、運算式或權杖的值執行不同的動作路徑,請將 切換 動作新增至您的工作流程。 此動作會評估物件、運算式或權杖,選擇符合結果的案例,並執行您為該案例定義的動作路徑。 切換動作執行時,應該只會有一個案例符合結果。

例如,假設您想要一個工作流程,根據電子郵件中選取的選項執行不同的動作路徑。 在此範例中,工作流程會使用 RSS 觸發程式來檢查網站的 RSS 摘要是否有新內容。 當新項目出現在 RSS 摘要中時,工作流程會傳送電子郵件給核准者。 根據核准者是否選取 「核准」 或「 拒絕」,工作流程會執行不同的動作。

秘訣

切換動作僅支援等值運算子。 如果您需要其他關聯式運算子 (例如 大於),請使用 條件動作。 為了確保確定性行為,案例必須包含唯一的靜態值,而不是動態記號或運算式。

先決條件

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

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

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

    2. 提供下列資訊:

      參數 為必填項目 價值觀 描述
      Yes < 核准者電子郵件地址> 做出核准決定之人的電子郵件地址。 若要測試範例,請使用您自己的電子郵件地址進行測試。
      主旨 < 電子郵件主旨> 電子郵件核准請求的主旨。
      使用者選項 核准、拒絕 雖然是選用的,但請保留此範例的預設值。

      螢幕擷取畫面顯示 傳送核准電子郵件 動作,其中包含您可以輸入地址和使用者選項值的參數。

新增切換動作

若要根據核准電子郵件中選取的選項變更工作流程執行路徑,請在範例工作流程結尾新增切換動作。

  1. 在設計工具上,遵循下列一般步驟,將名為 [切換][控制] 動作新增至您的工作流程。

    [切換] 動作隨即顯示,並顯示空白的預設案例。 切換動作至少需要一個案例加上預設案例。 您稍後會新增更多案例。

    螢幕擷取畫面顯示預設案例為空白的 [切換] 動作。

  2. 如果未選取 [切換] 動作,以便開啟資訊窗格,請選取 [切換] 標題列。

  3. 參數 索引標籤上,選取 開啟 方塊內,然後選取閃電圖示以開啟動態內容清單。 從該清單中, 在傳送核准電子郵件下,選取 SelectedOption 欄位。

    SelectedOption 欄位會儲存核准者選取的值,並決定要執行的動作案例。

    螢幕擷取畫面顯示動態內容清單,並醒目提示 SelectedOption 值。

  4. 若要處理核准者選取「 核准」 或「 拒絕」的案例,請為每個選項新增案例。 在 預設 案例旁邊,選取加號 (+) 符號,然後選取 新增案例

    螢幕擷取畫面顯示已新增兩個案例的 [切換] 動作,以及預設案例。

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

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

    螢幕擷取畫面顯示具有兩個案例和預設案例的 [切換] 動作。每個新增的案例都包含要執行的傳送電子郵件動作。

  6. 儲存您的工作流程。

  7. 若要測試此範例,請在設計工具列上選取 [執行>執行] ,直到觸發程式偵測到新的 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" 中的動作。