在本教學課程中,您將瞭解如何使用 Azure Logic Apps 回應使用 Azure 事件方格接收的 Azure 服務總線事件。
先決條件
如果您還沒有 Azure 訂閱,請在開始前建立免費帳戶。
建立服務匯流排命名空間
請遵循下列教學課程中的指示:快速入門:使用 Azure 入口網站建立服務匯流排主題和主題的訂用帳戶,以執行下列工作:
- 建立進階服務匯流排命名空間。
- 取得連接字串。
- 建立服務匯流排主題。
- 針對主題建立訂用帳戶。 在本教學課程中,您只需要一個訂用帳戶,因此不需要建立訂用帳戶 S2 和 S3。
對服務匯流排主題傳送訊息
在本節中,您會使用範例應用程式,將訊息傳送至您在上一節中建立的服務總線主題。
複製 GitHub azure-service-bus 存放庫,或下載 ZIP 檔案並從中擷取檔案。
在 Visual Studio 中,移至 \samples\DotNet\Azure.Messaging.ServiceBus\ServiceBusEventGridIntegrationV2 資料夾,然後開啟 SBEventGridIntegration.sln 檔案。
在 [ 方案總管] 視窗中,展開 MessageSender 專案,然後選取 [Program.cs]。
將
<SERVICE BUS NAMESPACE - CONNECTION STRING>
取代為服務匯流排命名空間的連接字串;同時將<TOPIC NAME>
取代為主題名稱。const string ServiceBusConnectionString = "<SERVICE BUS NAMESPACE - CONNECTION STRING>"; const string TopicName = "<TOPIC NAME>";
建置並執行程式,以將五個測試訊息 (
const int numberOfMessages = 5;
) 傳送至服務總線主題。
使用 Logic Apps 接收訊息
在本節中,建立使用 Azure 事件方格接收服務總線事件的 Azure 邏輯應用程式。
選取 [+ 建立資源],選取 [ 整合],然後選取 [ 邏輯應用程式]。
在 [ 建立邏輯應用程式 ] 頁面上,遵循下列步驟:
選取 [取用]>[多租用戶] 選項,然後選擇 [選取]。
選取您的 Azure 訂用帳戶。
輸入 資源群組。 選取您用於其他資源的資源群組,例如您稍早建立的服務總線命名空間。
輸入邏輯應用程式的名稱。
選取邏輯應用程式的區域。
按一下 檢閱 + 建立。
在 [ 檢閱 + 建立] 頁面上,選取 [ 建立 ] 以建立邏輯應用程式。
在 [ 部署完成 ] 頁面上,選取 [移至資源] 以瀏覽至 邏輯應用程式 頁面。
使用事件方格新增從服務總線接收訊息的步驟
展開 [開發工具 ],然後選取 [邏輯應用程式範本]。
選取 [空白工作流程]。 邏輯應用程式設計工具隨即開啟。
在設計工具上執行下列步驟:
選取 [新增觸發程式 ],然後搜尋 [事件方格]。
選取 [當資源事件發生時]。
選取 登入。
在 [ 登入您的帳戶 ] 頁面上,選取您想要用來登入 Azure 的帳戶。
在 [ 發生資源事件時] 頁面上,執行下列步驟:
針對 [資源類型],選取 [Microsoft.ServiceBus.Namespaces]。
選取您的 Azure 訂用帳戶。
針對 [資源名稱],選取您的服務總線命名空間。
在 [ 進階參數] 下,選取向下箭號。
選取 [後置詞篩選],然後將焦點移至下拉式清單外。
在 [尾碼篩選] 中,輸入服務匯流排主題訂用帳戶的名稱。
選取符號 + ,然後選取 [新增動作]。
搜尋服務匯流排。
選取 [查看更多],然後選取 [從主題訂閱取得訊息 (peek-lock)]。
顯示 Logic Apps 設計工具的螢幕擷圖,當中「從主題訂閱取得訊息」已被選取。
請遵循下列步驟:
輸入連接的名稱 例如: 從主題訂用帳戶取得訊息。
確認 [驗證類型 ] 設定為 [存取金鑰]。
針對 [連接字串],將連接字串複製並貼到您稍早儲存的服務總線命名空間。
請選擇 新建。
選取您的主題和訂用帳戶。
新增處理和完成已接收訊息的步驟
在本節中,您會新增步驟以在電子郵件中傳送已接收的郵件,然後完成郵件。 在真實案例中,您會在邏輯應用程式中處理訊息,再完成訊息。
新增 foreach 迴圈
選取符號 + ,然後選取 [新增動作]。
搜尋並選取 [For each]。
針對 [選取先前步驟中的輸出] 選取閃電圖示,或輸入 / 然後選取 [插入動態內容]。
在 [從主題訂用帳戶取得訊息 (查看鎖定)] 底下選取 [本文]。
在 foreach 循環內新增步驟,以傳送包含訊息內文的電子郵件
在 For Each 循環中,選取 +,然後選取 [新增動作]。
搜尋 Office 365,然後選取 [查看更多]。
在搜尋結果中選取 [Office 365 Outlook ]。
在動作清單中,選取 [傳送電子郵件][V2]。
選取 [登入],然後遵循步驟建立 Office 365 Outlook 的連線。
在 [ 傳送電子郵件 (V2)] 視窗中,遵循下列步驟:
選取 [本文] 的文字方塊,然後遵循下列步驟:
針對 [收件者],請輸入電子郵件地址。
針對 [主旨],請輸入從服務匯流排主題的訂用帳戶收到的訊息。
在 Body 中,選取表達式或輸入 /,然後選取 [插入表達式]。
輸入下列表示式:
base64ToString(items('For_each')?['ContentData'])
選取 ,然後新增。
在 foreach 迴圈中新增另一個動作以完成訊息
在 For Each 循環中,選取 +,然後選取 [新增動作]。
在 Logic Apps 設計工具的工具列上選取 [ 儲存 ],以儲存邏輯應用程式。
測試應用程式
如果您尚未將測試訊息傳送至主題,請遵循 將訊息傳送至服務總線主題 一節中的指示,將訊息傳送至主題。
瀏覽至邏輯應用程式的 [ 概觀 ] 頁面。 然後選取底部窗格中的 [ 執行歷程記錄 ] 索引標籤。 您會看到邏輯應用程式在處理傳送至主題的訊息。 在看到邏輯應用程式執行之前,可能需要幾分鐘的時間。 選取工具列上的 [ 重新 整理] 以重新整理頁面。
選取邏輯應用程式執行以查看詳細數據。 請注意,它在 for 循環中處理了五則訊息。
您應該會收到邏輯應用程式所接收的每則訊息的電子郵件。
故障排除
如果您在等候並重新整理後並未看到任何叫用,請執行下列步驟:
確認訊息已抵達服務匯流排主題。 查看 [服務匯流排主題] 頁面上的 [傳入訊息] 計數器。 在此情況下, MessageSender 應用程式會執行一次,因此有 5 則訊息。
確認服務匯流排訂用帳戶中沒有任何作用中訊息。
如果您在此頁面上未看到任何事件,請確認 [服務匯流排訂用帳戶] 頁面未顯示任何 [作用中訊息計數]。 如果此計數器的數字大於零,表示訂用帳戶的訊息因故無法轉送至處理常式函式 (事件訂用帳戶處理常式)。 確認您已正確設定事件訂用帳戶。
您也會在服務匯流排命名空間的 [事件] 頁面上看到 [已傳遞的事件]。
您也可以在 [事件訂用帳戶] 頁面上看到事件已傳遞。 您可以在 [事件] 頁面上選取事件訂用帳戶,以進入此頁面。
相關內容
- 深入了解 Azure Event Grid。
- 深入了解 Azure Functions。
- 深入瞭解 Azure App Service 的 Logic Apps 功能。
- 深入了解 Azure 服務匯流排。