教學課程:使用 Azure Logic Apps 建立以排程為基礎的自動化工作流程
適用於:Azure Logic Apps (使用量)
本教學課程示範如何使用 Azure Logic Apps 建置以週期性排程執行的範例工作流程。 此範例特別會建立取用邏輯應用程式工作流程,以檢查兩個地點之間的交通,以及每天上午執行兩個地點之間的流量。 如果時間超過特定限制,則工作流程會向您傳送一封電子郵件,其中包括行進時間和抵達目的地所需的額外時間。 此工作流程包含各種步驟,其會開始使用排程型觸發程序,後面接著 Bing 地圖服務動作、資料作業動作、控制流程動作,以及電子郵件通知動作。
當您完成時,工作流程看起來會像下列概括範例:
提示
若要深入了解,您可以詢問 Azure Copilot 下列問題:
- 什麼是 Azure Logic Apps?
- 什麼是使用量邏輯應用程式工作流程?
- 什麼是 Bing 地圖服務連接器?
- 什麼是數據作業動作?
- 什麼是控制流程動作?
- 什麼是 Office 365 Outlook 連接器?
若要尋找 Azure Copilot,請在 Azure 入口網站工具列上,選取 [Copilot]。
您可以使用標準邏輯應用程式資源建立類似的工作流程。 不過,用戶體驗和教學課程步驟會與取用版本稍有不同。
必要條件
Azure 帳戶和訂用帳戶。 如果您沒有訂用帳戶,請註冊一個免費的 Azure 帳戶。
Azure Logic Apps 所支援的電子郵件提供者的電子郵件帳戶,例如 Office 365 Outlook 或 Outlook.com。 如需其他支援的電子郵件提供者,請參閱適用於 Azure Logic Apps 的連接器。
本教學課程使用 Office 365 Outlook 搭配公司或學校帳戶。 如果您使用不同的電子郵件帳戶,整體步驟將維持不變,但使用者體驗可能略有不同。 如果您使用 Outlook.com,請改用您的個人 Microsoft 帳戶登入。
重要
如果您想要使用 Gmail 連接器,只有 G-Suite 商務帳戶可以在邏輯應用程式工作流程中使用此連接器,而不受限制。 如果您有 Gmail 取用者帳戶,您只能使用此連接器搭配特定的 Google 核准服務,或者您可以建立 Google 用戶端應用程式,以用來向 Gmail 連接器進行驗證。 如需詳細資訊,請參閱 Azure Logic Apps 中 Google 連接器的資料安全性和隱私權原則。
若要取得路線的行進時間,您需要 Bing 地圖服務 API 的存取金鑰。 若要取得此金鑰,請遵循如何取得 Bing 地圖服務金鑰的步驟。
如果您的工作流程需要透過限制特定 IP 位址流量的防火牆進行通訊,對於您的邏輯應用程式所在的 Azure 區域,該防火牆必須允許存取 Azure Logic Apps 所用 IP 位址的輸入和輸出。 如果您的工作流程也使用受控連接器 (例如 Office 365 Outlook 連接器或 SQL 連接器),或是使用自訂連接器,則防火牆也需要允許存取您邏輯應用程式資源的 Azure 區域中所有受控連接器輸出 IP 位址。
建立取用方案邏輯應用程式資源
在 Azure 入口網站中,使用您的 Azure 帳戶登入。
在 Azure 入口網站搜尋方塊中輸入邏輯應用程式,然後選取 [邏輯應用程式]。
在 [邏輯應用程式] 頁面工具列上,選取 [新增]。
[建立邏輯應用程式] 頁面隨即出現,並顯示下列選項:
計劃 描述 耗用 建立僅支援在多租用戶 Azure Logic Apps 中所執行一個工作流程的邏輯應用程式資源,並使用使用量模型進行計費。 標準 建立支援多個工作流程的邏輯應用程式資源。 您有下列選擇:
- 工作流程服務方案:工作流程會在單一租用戶 Azure Logic Apps 中執行,並使用標準模型進行計費。
- App Service 環境 V3:工作流程會在單一租用戶 Azure Logic Apps 中執行,並使用 App Service 環境方案進行計費。
- 混合式 (預覽):工作流程會使用 Kubernetes 事件驅動自動調整 (KEDA) 在內部部署和多個雲端中執行。 如需詳細資訊,請參閱 建立混合式部署的標準工作流程。在 [建立邏輯應用程式] 頁面上,選取 [取用][多租使用者]。
在 [ 基本] 索引 標籤上,提供邏輯應用程式資源的下列資訊:
屬性 必填 值 Description 訂用帳戶 Yes <Azure-訂閱-名稱> 您的 Azure 訂用帳戶名稱。
此範例使用隨用隨付。資源群組 Yes <Azure-資源-群組-名稱> 您在其中建立邏輯應用程式和相關資源的 Azure 資源群組。 此名稱在各區域中必須是唯一的,而且只能包含字母、數字、連字號 (-)、底線 (_)、括弧(()) 和句點 (.)。
此範例會建立名為 LA-TravelTime-RG 的資源群組。邏輯應用程式名稱 Yes <logic-app-resource-name> 您的邏輯應用程式資源名稱在各區域中必須是唯一的,而且只能包含字母、數字、連字號 (-)、底線 (_)、括弧 (()) 和句點 (.)。
此範例會建立名為 LA-TravelTime 的邏輯應用程式資源。區域 Yes <Azure-region> 應用程式的 Azure 資料中心區域。
此範例會使用「美國西部」。啟用記錄分析 是 否 只有在您想要啟用診斷記錄時,才會變更此選項。 在本教學課程中,請保留預設的選取項目。
注意:此選項僅適用於取用邏輯應用程式。注意
可用性區域會自動針對支援可用性區域的 Azure 區域中新的和現有的使用量邏輯應用程式工作流程啟用。 如需詳細資訊,請參閱 Azure Functions 中的可靠性與使用區域備援和可用性區域保護邏輯應用程式免於發生區域失敗。
完成之後,您的設定看起來類似下列範例:
當您完成時,請選取 [檢閱 + 建立]。 在 Azure 驗證邏輯應用程式資源的相關資訊之後,請選取 [建立]。
在 Azure 部署邏輯應用程式資源之後,選取 [移至資源]。 或者,使用 Azure 搜尋方塊尋找並選取邏輯應用程式資源。
接下來,新增名為 Recurrence 的排程觸發程式,其會根據指定的排程執行工作流程。 每個工作流程都必須使用觸發程序啟動,而該工作流程會在特定事件發生或新資料符合特定條件時引發。
新增週期觸發程序
在工作流程設計工具上,遵循這些一般步驟來新增名為 Recurrence 的排程觸發程式。
使用下列標題重新 命名週期 觸發程式: 檢查每天工作日早上的行程時間。
在 [觸發程序資訊] 方塊中,提供下列資訊:
參數 數值 Description 間隔 1 在檢查之間所要等待的間隔數目 頻率 週 要用於週期的時間單位 在這幾天內 星期一、星期二、星期三、星期四、星期五 只在您將 [頻率] 設定為 [周] 時,才可以使用此設定。 在這幾小時內 7、8、9 只在您將 [頻率] 設定為 [周] 或 [日] 時,才可以使用此設定。 對於此週期,選取幾小時。 此範例會在 7、 8 和 9 小時標記執行。 在這幾分鐘內 0, 15, 30, 45 只在您將 [頻率] 設定為 [周] 或 [日] 時,才可以使用此設定。 對於此週期,選取幾分鐘。 這個範例從整點開始,每隔 15 分鐘執行一次。 當您完成時,觸發程式資訊方塊會顯示如下範例:
此觸發程序會在每個工作天、每隔 15 分鐘引發一次 (從上午 7:00 開始到上午 9:45 結束)。 [預覽] 方塊會顯示週期排程。 如需詳細資訊,請參閱排程工作和工作流程及工作流程動作和觸發程序。
儲存您的工作流程您 在設計師工具列上選取儲存。
邏輯應用程式資源和更新的工作流程現在會即時存在於 Azure 入口網站 中。 不過,工作流程只會根據指定的排程觸發,而且不會執行其他動作。 因此,新增會在觸發程序引發時回應的動作。
取得路線的行進時間
現在您已擁有觸發程式,請新增 Bing 地圖服務 動作,以取得兩個地點之間的移動時間。 Azure Logic Apps 會提供 Bing 地圖服務 API 的連接器,以便輕鬆地取得此資訊。 在開始這項工作之前,請確定您擁有本教學課程必要條件中所述的 Bing 地圖服務 API 金鑰。
在工作流程設計工具的 [週期] 觸發程式下,遵循下列一般步驟來新增名為 Get route 的 Bing 地圖服務動作。
如果您沒有 Bing 地圖服務連線,系統會要求您建立連線。 提供下列連線資訊,然後選取 [ 建立]。
參數 必要 值 Description 連線名稱 Yes <Bing-Maps-connection-name> 為您的連線提供一個名稱。 此範例使用 BingMapsConnection。 API 金鑰 Yes <Bing-Maps-API-key> 輸入您先前收到的 Bing 地圖服務 API 金鑰。 如果您沒有 Bing 地圖服務金鑰,請了解如何取得金鑰。 下列範例顯示範例連線資訊:
使用下列標題重新命名 [取得路線] 動作:取得路線和交通時間。
在動作中,開啟 [ 進階參數 ] 列表,然後新增下列屬性:
- 最佳化
- 距離單位
- 移動模式
現在輸入下列動作屬性的值:
參數 數值 Description 導航點 1 <start-location> 您的路線起點。 這個範例會指定範例起始位址。 導航點 2 <end-location> 您的路線目的地。 這個範例會指定範例目的地位址。 最佳化 timeWithTraffic 可將您的路線最佳化的參數,例如距離、目前流量的行進時間等等。 選取參數值 timeWithTraffic。 距離單位 <your-preference> 路線的距離單位。 此範例使用英哩作為單位。 移動模式 推動 路線的行進模式。 選取 [開車] 模式。 如需這些參數及值的詳細資訊,請參閱計算路線。
下列範例顯示範例動作資訊:
在設計師工具列上選取儲存。
接下來,建立一個變數,以便將目前行進時間轉換為分鐘 (而不是秒鐘) 並加以儲存。 如此一來,即可避免重複轉換,並且在後續步驟中更輕鬆使用此值。
建立變數來儲存行進時間
有時候,您可以在工作流程中對資料執行作業,然後在後續動作中使用其結果。 若要儲存這些結果,以便輕鬆地重複使用或參考,您可以建立一些變數,在處理後儲存這些結果。 您只能在工作流程的最上層建立變數。
根據預設,[取得路線] 動作會經由 [行進持續時間流量] 屬性,傳回包含流量的目前行進時間 (以秒為單位)。 藉由轉換此值並改以分鐘為單位進行儲存,即可讓此值日後更容易重複使用,而不需再次轉換。
在 [取得路由] 動作底下,遵循下列一般步驟來新增名為 Initialize 變數的 Variables 動作。
使用下列標題重新命名 初始化變數 動作: 建立變數來儲存行進時間。
提供下列動作資訊:
參數 數值 描述 名稱 travelTime 您的變數名稱。 這個範例會使用 travelTime
。類型 整數 您的變數資料類型 ReplTest1 <initial-value> 可將目前行進時間從秒數轉換為分鐘數的運算式 (請參閱此表格底下的步驟)。 若要建立 Value 屬性的運算式,請遵循下列步驟:
在 [ 值 ] 方塊內選取,其中顯示動態內容清單 (閃電圖示) 和表示式編輯器 (公式圖示) 的選項,然後選取表達式編輯器。
表達式編輯器提供函式,可讓您用來在表達式中執行作業。 動態內容清單提供先前動作的輸出,您可以選取做為輸入,以搭配工作流程中的後續動作使用。
在運算式編輯器中,輸入下列表達式: div(,60)
在運算式內,將游標放在左括號 (() 與逗號 (,) 之間,然後選取 [動態內容]。
在動態內容清單中,選取輸出值 [旅行持續時間流量]。
如果輸出未出現,請在動態內容清單中,選取動作名稱旁的 [查看更多]。
在表達式內解析輸出值之後,選取 [ 新增]。
下列範例顯示 Value 屬性現在如何顯示:
儲存您的工作流程您 在設計師工具列上選取儲存。
接下來,新增可檢查目前行進時間是否大於特定限制的條件。
比較行進時間與限制
在 [建立變數以儲存旅行時間] 動作底下,遵循這些一般步驟來新增名為 Condition 的控件動作。
使用下列標題重新命名條件: 如果行進時間超過限制
建置條件,檢查 travelTime 輸出值是否超過您的指定限制,如下所示:
儲存您的工作流程您 在設計師工具列上選取儲存。
接下來,新增當行進時間超過限制時所要執行的動作。
在超過限制時傳送電子郵件
現在,新增動作,以在旅行時間超過您的限制時傳送電子郵件。 此電子郵件包含目前行進時間和行經指定路線所需的額外時間。
在條件的 True 分支中,選取加號 (+),然後選取 [ 新增動作]。
請遵循下列一般步驟,新增名為傳送電子郵件的 Office 365 Outlook 動作。
- 針對 Azure 公司或學校帳戶,選取 Office 365 Outlook 版本。
- 針對個人Microsoft帳戶,選取 Outlook.com 版本。
此範例會選取 Office 365 Outlook 以繼續。
如果您還沒有連線,請在出現提示時登入並驗證電子郵件帳戶的存取權。
Azure Logic Apps 會建立與電子郵件帳戶的連線。
使用下列標題重新命名動作: 傳送具有旅行時間的電子郵件
針對 [收件者] 屬性,輸入收件者的電子郵件地址。 為了測試用途,您可以使用自己的電子郵件地址。
針對 [主旨] 屬性,遵循下列步驟指定電子郵件的主旨,並包含 [travelTime] 變數:
輸入目前行進時間(分鐘):尾端空格的文字。 將游標保留在 [ 主旨 ] 方塊中,然後選取動態內容清單的選項(閃電圖示)。
在動態內容清單中,於 [變數] 區段中,選取名為 travelTime 的變數。
注意
如果動態內容清單未自動顯示 travelTime 變數,請在 [變數] 標籤旁選取 [查看更多]。 變數可能不會顯示,因為 Subject 屬性需要字串值,而 travelTime 是整數。
針對 [內文] 屬性,遵循下列步驟指定電子郵件內文的內容:
儲存您的工作流程您 在設計師工具列上選取儲存。
接下來,測試並執行您的工作流程,現在看起來類似下列範例:
執行您的工作流程
若要手動啟動工作流程,請在設計工具工具列上,選取 [執行執行>]。
如果目前行進時間保持在您的限制之內,工作流程並不會執行任何作業,而會等到下一個間隔後再次檢查。
如果目前行進時間超過您的限制,您會收到一封電子郵件,其中包含目前行進時間和超過限制的分鐘數。 下列範例顯示工作流程傳送的範例電子郵件:
提示
若未收到任何電子郵件,請檢查電子郵件的垃圾郵件資料夾。 您的垃圾電子郵件篩選器可能會重新導向這類郵件。 或者假使不確定工作流程是否正確執行,請參閱針對工作流程進行疑難排解。
恭喜您,您已建立並執行以排程為基礎的週期性工作流程!
清除資源
您的工作流程會繼續執行,直到您停用或刪除應用程式資源為止。 當您不再需要此範例時,請刪除包含邏輯應用程式和相關資源的資源群組。
在 [Azure 入口網站 搜尋方塊中,輸入資源群組,然後選取 [資源群組]。
從 [資源群組] 清單中,選取本教學課程的資源群組。
在 [資源群組] 功能表上,選取 [ 概觀]。
在 [概 觀 ] 頁面工具列上,選取 [ 刪除資源群組]。
當 [確認] 窗格出現時,輸入資源群組名稱,然後選取 [刪除]。
後續步驟
在本教學課程中,您已建立一個邏輯應用程式工作流程,該工作流程可根據指定的排程 (在工作日上午) 檢查流量,並且在行進時間超過指定的限制時採取動作 (傳送電子郵件)。 現在可開始了解如何透過整合 Azure 服務、Microsoft 服務和其他軟體即服務 (SaaS) 應用程式,建立可傳送郵件清單要求以供核准的工作流程。