教學課程:建立與 Azure Logic Apps 整合的函式
Azure Functions 與 Logic Apps 設計工具中的 Azure Logic Apps 進行整合。 此整合可讓您搭配其他 Azure 和協力廠商服務,在協調流程中使用 Functions 的計算能力。
本教學課程說明如何建立工作流程來分析 X 活動。 評估推文時,工作流程會在偵測到正面情感時傳送通知。
在本教學課程中,您將了解:
- 建立 Azure AI 服務 API 資源。
- 建立可將推文情感進行分類的函式。
- 建立連線到 X 的邏輯應用程式。
- 將情感偵測新增至邏輯應用程式。
- 將邏輯應用程式連線至函式。
- 以函式的回應作為基礎來傳送電子郵件。
必要條件
- 使用中的 X 帳戶。
- Outlook.com 帳戶 (用於傳送通知)。
注意
如果您想要使用 Gmail 連接器,只有 G-Suite 的商務帳戶可以在邏輯應用程式中使用此連接器,而不受限制。 如果您有 Gmail 取用者帳戶,您只能使用 Gmail 連接器搭配特定的 Google 核准應用程式及服務,或者您可以建立 Google 用戶端應用程式,以用來在 Gmail 連接器中進行驗證。
如需詳細資訊,請參閱 Azure Logic Apps 中 Google 連接器的資料安全性和隱私權原則。
建立文字分析資源
Azure AI 服務 API 以個別資源的形式在 Azure 中提供。 使用文字分析 API 來偵測張貼推文的情感。
登入 Azure 入口網站。
選取 Azure 入口網站左上角的 [建立資源] 。
在 [類別] 下方,選取 [AI + 機器學習服務]。
在 [文字分析] 底下,選取 [建立]。
在 [建立文字分析] 畫面中,輸入下列值。
設定 值 備註 訂用帳戶 您的 Azure 訂用帳戶名稱 資源群組 建立名為 tweet-sentiment-tutorial 的新資源群組 稍後,您會刪除此資源群組,以移除此教學課程期間建立的所有資源。 區域 選取距離您最近的區域 名稱 TweetSentimentApp 定價層 選取 [免費 F0] 選取 [檢閱 + 建立]。
選取 建立。
部署完成後,請選取 [前往資源]。
取得文字分析設定
建立文字分析資源之後,您將複製一些設定,並暫存這些設定以供稍後使用。
選取 [金鑰和端點]。
按一下輸入方塊結尾的圖示,以複製 [金鑰 1]。
將值貼到文字編輯器。
按一下輸入方塊結尾的圖示,以複製 [端點]。
將值貼到文字編輯器。
建立函數應用程式
從頂端搜尋方塊,搜尋並選取 [函數應用程式]。
選取 建立。
輸入下列值。
設定 建議的值 備註 訂用帳戶 您的 Azure 訂用帳戶名稱 資源群組 tweet-sentiment-tutorial 在此教學課程中全程使用相同的資源群組名稱。 函數應用程式名稱 TweetSentimentAPI + 唯一尾碼 函數應用程式名稱是全域唯一的。 有效的字元是 a-z
(不區分大小寫)、0-9
和-
。發佈 程式碼 執行階段堆疊 .NET 提供給您的函式程式碼是以 C# 撰寫。 版本 選取最新版本號碼 區域 選取距離您最近的區域 選取 [檢閱 + 建立]。
選取 建立。
部署完成後,請選取 [前往資源]。
建立 HTTP 觸發函式
從 [函式] 視窗的左側功能表中,選取 [函式]。
從頂端功能表中選取 [新增],然後輸入下列值。
設定 值 備註 開發環境 在入口網站中開發 範本 HTTP 觸發程序 新增函式 TweetSentimentFunction 這是函式的名稱。 授權等級 Function 選取新增按鈕。
選取 [編碼 + 測試] 按鈕。
在程式碼編輯器視窗中貼上下列程式碼。
#r "Newtonsoft.Json" using System; using System.Net; using Microsoft.AspNetCore.Mvc; using Microsoft.Extensions.Logging; using Microsoft.Extensions.Primitives; using Newtonsoft.Json; public static async Task<IActionResult> Run(HttpRequest req, ILogger log) { string requestBody = String.Empty; using (StreamReader streamReader = new StreamReader(req.Body)) { requestBody = await streamReader.ReadToEndAsync(); } dynamic score = JsonConvert.DeserializeObject(requestBody); string value = "Positive"; if(score < .3) { value = "Negative"; } else if (score < .6) { value = "Neutral"; } return requestBody != null ? (ActionResult)new OkObjectResult(value) : new BadRequestObjectResult("Pass a sentiment score in the request body."); }
情感分數會傳遞至函式,而其會傳回值的類別名稱。
選取工具列上的 [儲存] 按鈕以儲存變更。
注意
若要測試函式,請從頂端功能表中選取 [測試/執行]。 在 [輸入] 索引標籤的 [本文] 輸入方塊中,輸入
0.9
的值,然後選取 [執行]。 在 [輸出] 區段中,驗證 [HTTP 回應內容] 方塊中已傳回 Positive 的值。
接下來,建立與 Azure Functions、X 和 Azure AI 服務 API 整合的邏輯應用程式。
建立邏輯應用程式
從頂端搜尋方塊中,搜尋並選取 [Logic Apps]。
選取 [新增]。
選取 [耗用量],並輸入下列值。
設定 建議的值 訂用帳戶 您的 Azure 訂用帳戶名稱 資源群組 tweet-sentiment-tutorial 邏輯應用程式名稱 TweetSentimentApp 區域 選取最接近您的區域,最好是您在先前步驟中選取的相同區域。 對於所有其他設定,請接受預設值。
選取 [檢閱 + 建立]。
選取 建立。
部署完成後,請選取 [前往資源]。
選取 [空白邏輯應用程式] 按鈕。
選取工具列上的 [儲存] 按鈕以儲存進度。
您現在可以使用 Logic Apps 設計工具,將服務和觸發程序新增至應用程式。
線上到 X
建立 X 的連線,讓您的 app 可以輪詢新的推文。
在頂端搜尋方塊中搜尋 X 。
選取 X 圖示。
選取 [有新貼文張貼時] 觸發程序。
輸入下列值來設定連線。
設定 值 連線名稱 MyXConnection 驗證類型 使用預設的共用應用程式 選取 [登入]。
請依照彈出視窗中的提示完成登入 X。
接著,在 [有新推文張貼時] 方塊中輸入下列值。
設定 值 搜尋文字 #my-x-tutorial 您想要多久檢查項目一次? 在文字方塊中輸入 1,以及
在下拉式清單中選取 [小時]。 您可以輸入不同的值,但請務必檢閱 X 連接器目前的 限制 。選取工具列上的 [儲存] 按鈕以儲存進度。
接著,連線至文字分析,以偵測所收集推文的情感。
新增文字分析情感偵測
選取新步驟。
在搜尋方塊中,搜尋文字分析。
選取 [文字分析] 圖示。
選取 [偵測情感],然後輸入下列值。
設定 值 連線名稱 TextAnalyticsConnection 帳戶金鑰 貼上您稍早暫存的文字分析帳戶金鑰。 網站 URL 貼上您稍早暫存的文字分析端點。 選取 建立。
按一下 [新增參數] 方塊內部,然後勾選在快顯視窗中出現之文件旁的方塊。
按一下 [文件識別碼 - 1] 文字方塊內部,以開啟動態內容快顯視窗。
在 [動態內容] 搜尋方塊中,搜尋識別碼,然後按一下 [推文識別碼]。
按一下 [文件文字 - 1] 文字方塊內部,以開啟動態內容快顯視窗。
在 [動態內容] 搜尋方塊中,搜尋文字,然後按一下 [推文文字]。
在 [選擇動作] 中,輸入 [文字分析],然後按一下 [偵測情感] 動作。
選取工具列上的 [儲存] 按鈕以儲存進度。
[偵測情感] 方塊看起來應該像下列螢幕擷取畫面。
將情感輸出連接至函式端點
選取新步驟。
在搜尋方塊中,搜尋 Azure Functions。
選取 [Azure Functions] 圖示。
在搜尋方塊中搜尋您的函式名稱。 如果您遵循上述指引,您的函式名稱就會以 TweetSentimentAPI 開頭。
選取函式圖示。
選取 [TweetSentimentFunction] 項目。
按兩下 [要求本文] 方塊內部,然後從彈出視窗中選取 [偵測情感分數] 專案。
選取工具列上的 [儲存] 按鈕以儲存進度。
新增有條件的步驟
選取 [新增動作] 按鈕。
按一下 [控制項] 方塊內部,然後在快顯視窗中搜尋並選取 [控制項]。
選取 [條件]。
按兩下 [選擇值] 方塊內部,然後從彈出視窗中選取 TweetSentimentFunction Body 專案。
在 [選擇值] 方塊中,輸入 Positive。
選取工具列上的 [儲存] 按鈕以儲存進度。
新增電子郵件通知
在 [True] 方塊底下,選取 [新增動作] 按鈕。
在文字方塊中,搜尋並選取 [Office 365 Outlook]。
在文字方塊中,搜尋傳送,然後選取 [傳送電子郵件]。
選取 [登入] 按鈕。
遵循快顯視窗中的提示來完成登入 Office 365 Outlook。
在 [收件者] 方塊中,輸入您的電子郵件地址。
按一下 [主旨] 方塊內部,然後按一下 [TweetSentimentFunction] 底下的 [本文] 項目。 如果清單中未顯示 [本文] 項目,請按一下 [查看更多] 連結以展開選項清單。
在 [主旨] 中的 [本文] 項目之後,輸入文字「推文來源:」。
在「推文來源:」文字之後,再次按一下方塊,然後從 [有新推文張貼時] 選項清單中選取 [使用者名稱]。
按一下 [本文] 方塊內部,然後在 [有新推文張貼時] 選項清單底下,選取 [推文文字]。 如果清單中未顯示 [推文文字] 項目,請按一下 [查看更多] 連結以展開選項清單。
選取工具列上的 [儲存] 按鈕以儲存進度。
電子郵件方塊現在看起來應該像這個螢幕擷取畫面。
執行工作流程
從您的 X 帳戶,推文下列文字: 我喜歡 #my-x-tutorial。
返回 Logic Apps 設計工具,然後選取 [執行] 按鈕。
檢查您的電子郵件是否有來自該工作流程的郵件。
清除資源
若要清除此教學課程期間建立的所有 Azure 服務和帳戶,請刪除資源群組。
在頂端搜尋方塊中,搜尋資源群組。
選取 [tweet-sentiment-tutorial]。
選取 [刪除資源群組]。
在文字方塊中,輸入 tweet-sentiment-tutorial。
選取刪除按鈕。
您可以選擇性地返回您的 X 帳戶,並從摘要中刪除任何測試推文。