教學課程:將邏輯應用程式連接至 Azure IoT 套件遠端監視預先設定解決方案
Microsoft Azure IoT 套件遠端監視預先設定解決方案以一套端對端功能集來示範 IoT 解決方案,是快速入門的好工具。 本教學課程逐步引導您將邏輯應用程式連接至 Microsoft Azure IoT 套件遠端監視預先設定解決方案。 這些步驟示範如何將 IoT 解決方案連接至商務程序,以進一步發展此 IoT 解決方案。
如果您要尋找有關如何佈建遠端監視預先設定解決方案的逐步解說,請參閱教學課程:開始使用 IoT 預先設定的解決方案。
在開始本教學課程之前,您應該:
- 在您的 Azure 訂用帳戶中佈建遠端監視預先設定的解決方案
- 建立 SendGrid 帳戶,用來讓您傳送可觸發商務程序的電子郵件。 您可以在 SendGrid 按一下 [免費試用],註冊免費試用帳戶。 註冊免費試用帳戶後,您必須在 SendGrid 中建立 API 金鑰 來授權傳送郵件。 稍後在教學課程中需要此 API 金鑰。
若要完成本教學課程,您需要 Visual Studio 2015 或 Visual Studio 2017,才能在預先設定的解決方案後端中修改動作。
假設您已佈建遠端監視預先設定解決方案,請在 Azure 入口網站中瀏覽至該解決方案的資源群組。 資源群組的名稱與您在佈建遠端監視解決方案時所選擇的解決方案名稱相同。 在資源群組中,您可以檢視所有為解決方案佈建的 Azure 資源。 下列螢幕擷取畫面顯示遠端監視預先設定解決方案的 [資源群組] 刀鋒視窗範例︰
若要開始,請設定邏輯應用程式來使用預先設定的解決方案。
設定邏輯應用程式
在 Azure 入口網站中,按一下資源群組刀鋒視窗頂端的 [新增]。
搜尋 [邏輯應用程式],選取它,然後按一下 [建立]。
填寫 [名稱],並使用您佈建遠端監視解決方案時使用的相同 [訂用帳戶] 和 [資源群組]。 按一下頁面底部的 [新增] 。
部署完成時,您會看到邏輯應用程式列為資源群組中的資源。
按一下邏輯應用程式來瀏覽至 [邏輯應用程式] 刀鋒視窗,選取 [空白邏輯應用程式] 範本以開啟 [Logic Apps 設計工具]。
選取 [要求]。 這個動作會指定以內送 HTTP 要求加上特定 JSON 格式化承載做為觸發程序。
將下列程式碼貼到 [要求本文 JSON 結構描述] 中:
{ "$schema": "http://json-schema.org/draft-04/schema#", "id": "/", "properties": { "DeviceId": { "id": "DeviceId", "type": "string" }, "measuredValue": { "id": "measuredValue", "type": "integer" }, "measurementName": { "id": "measurementName", "type": "string" } }, "required": [ "DeviceId", "measurementName", "measuredValue" ], "type": "object" }
注意
您可以在儲存邏輯應用程式之後複製 HTTP post 要求的 URL,但必須先新增動作。
按一下手動觸發程序下的 [+ 新增步驟]。 然後按一下 [加入動作] 。
搜尋 [SendGrid - 傳送電子郵件] 並按一下它。
輸入連接的名稱 (如 SendGridConnection),並輸入您設定 SendGrid 帳戶時設定的 SendGrid API 金鑰,然後按一下 [建立]。
將您擁有的電子郵件地址新增至 [寄件者] 和 [收件者] 欄位。 將遠端監視警示 [DeviceId] 新增至 [主旨] 欄位。 在[電子郵件本文] 欄位中,新增[DeviceId] 回報 [measureName] 值為 [measuredValue]。您可以按一下 [您可以從先前的步驟區段插入資料],以新增[DeviceId]、[measureName]和[measuredValue]。
按一下頂端功能表中的 [儲存]。
按一下 [要求] 觸發程序,複製此 URL 的 Http Post 值。 稍後在本教學課程中需要此 URL。
注意
Logic Apps 可讓您執行許多不同類型的動作,包括 Office 365 中的動作。
設定 EventProcessor Web 作業
在本節中,您會將您預先設定的解決方案連接到您建立的邏輯應用程式。 為了完成此工作,您要將用於觸發邏輯應用程式的 URL,加入當裝置感應器值超過臨界值時引發的動作。
使用您的 git 用戶端複製最新版的 azure-iot-remote-monitoring github 儲存機制。 例如:
git clone https://github.com/Azure/azure-iot-remote-monitoring.git
在 Visual Studio 中,從儲存機制的本機複本開啟 RemoteMonitoring.sln。
開啟Infrastructure\Repository資料夾中的ActionRepository.cs檔案。
使用您從邏輯應用程式記下的此 URL 的 Http Post 更新 actionIds 字典,如下所示︰
private Dictionary<string,string> actionIds = new Dictionary<string, string>() { { "Send Message", "<Http Post to this URL>" }, { "Raise Alarm", "<Http Post to this URL>" } };
在方案中儲存所做的變更並結束 Visual Studio。
從命令列部署
本節中,您要部署已更新的遠端監視解決方案,取代目前在 Azure 中執行的版本。
遵循開發設定的指示,設定您的環境準備部署。
若要在本機部署,請遵循本機部署指示。
若要部署至雲端並更新現有的雲端部署,請遵循雲端部署指示。 使用原始部署的名稱做為部署名稱。 例如,如果原始部署為 demologicapp,請使用下列命令︰
build.cmd cloud release demologicapp
當建置指令碼執行時,請務必使用您佈建解決方案時所使用的相同 Azure 帳戶、訂用帳戶、區域和 Active Directory 執行個體。
了解邏輯應用程式的實際運作
當您佈建解決方案時,根據預設,遠端監視預先設定的解決方案會設定兩個規則。 這兩個規則都在 SampleDevice001 裝置上︰
- 溫度 > 38.00
- >濕度 48.00
溫度規則會觸發 [引發警示] 動作,溼度規則會觸發 SendMessage 動作。 假設您在 ActionRepository 類別中對這兩個動作使用相同的 URL,邏輯應用程式將會觸發其中一條規則。 兩條規則皆使用 SendGrid 將警示的詳細資料透過電子郵件傳送至 [收件者] 地址。
注意
邏輯應用程式會在每次達到臨界值時繼續觸發。 若要避免不必要的電子郵件,您可以在解決方案入口網站中停用規則,或在 Azure 入口網站中停用邏輯應用程式。
除了接收電子郵件,您也可以查看邏輯應用程式在入口網站中運作情形︰
後續步驟
既然您已使用邏輯應用程式將預先設定的解決方案連接到商務程序,您可以深入了解自訂預先設定的解決方案的選項。