在這個快速入門中,你將使用 Visual Studio 的 Azure 串流分析 工具建立一個 Stream Analytics 職缺。 範例工作是從物聯網集線裝置讀取串流資料。 你定義一個工作,當溫度超過 27° 時計算平均溫度,並將結果的輸出事件寫入 blob 儲存的新檔案。
先決條件
在開始之前,請確保你已經具備以下先決條件。
備註
為了獲得最佳的本地開發體驗,可以使用 Visual Studio Code 的串流分析工具。 Visual Studio 2019(版本 2.6.3000.0)的 Stream Analytics 工具已知存在功能缺口,且不會有進一步改進。 Visual Studio 和 Visual Studio Code 工具不支援中國東部、中國北部、德國中部和德國東北部區域中的作業。
一個有有效訂閱的 Azure 帳號。 如果您沒有 Azure 訂閱,請建立免費帳戶。
Visual Studio 2019。 Enterprise 版(Ultimate/Premium)、專業版和 Community 版都能用,但 Express 版不行。
準備輸入資料
在定義 Stream Analytics 工作之前,先準備好日後要設定為工作輸入的資料。 準備輸入資料時,請完成以下步驟:
登入 Azure 入口網站。
選取 建立資源>物聯網>IoT 中樞。
在 [IoT 中樞 ] 窗格中,輸入下列資訊:
設定 建議的值 說明 Subscription <您的訂閱> 選取您要使用的 Azure 訂用帳戶。 資源群組 ASAquickstart-resourcegroup 選取 [ 建立新建 ],然後輸入您帳戶的新資源群組名稱。 IoT 中樞名稱 MyASAIoTHub 為您的物聯網中樞選擇名稱。 區域 <選擇離你的使用者最近的地區> 選擇一個可以放置物聯網樞紐的地理位置。 使用離使用者最近的位置。 層 免費 針對本快速入門,請選取 [ 免費 ] (如果您的訂用帳戶仍可用)。 如果免費方案無法使用,請選擇可用的最低方案。 如需詳細資訊,請參閱 IoT 中樞定價。
選擇 檢閱 + 創建。 檢視你的物聯網中樞資訊並選擇 「建立」。 你的物聯網中樞可能需要幾分鐘就能建立。 在 [ 通知 ] 窗格中監視進度。
部署完成後,選擇 「前往資源 」以導覽至您的物聯網樞紐頁面。
在 [IoT 中樞] 頁面上,選取左側導覽功能表上 [裝置管理] 底下的 [裝置]。
在 [裝置] 頁面上,選取工具列上的 [+ 新增裝置 ]。
在 [ 建立裝置 ] 頁面上,輸入裝置的名稱,然後選取 [ 儲存]。
建立裝置後,從 物聯網裝置 清單打開它。 如果您還沒有看到裝置,請重新整理頁面。
複製 主要連接字串 ,並將它儲存到記事本以供稍後使用。
建立 Blob 儲存體
在這個區塊中,你會建立一個 Azure 儲存體 帳號和一個 blob 容器來儲存你工作中的輸出事件。
從 Azure 入口網站的左上角,選取 [建立資源]>[儲存體]>[儲存體帳戶]。
在 [ 建立儲存體帳戶 ] 窗格中,輸入儲存體帳戶名稱、位置和資源群組。 選擇與您建立的 IoT 中樞相同的位置和資源群組。 然後選取 [檢閱 + 建立 ] 以建立帳戶。
建立儲存帳號後,請在總覽窗格中選擇 Blob 服務圖塊。
在 Blob 服務 頁面上,選取工具列上的 + 容器。
在 [新增容器 ] 頁面上,輸入容器的名稱,例如 container1。 將 [公用] 存取層級保留為 [私人 (無匿名存取權)],然後選取 [建立]。
建立串流分析專案
在 Visual Studio 建立一個串流分析專案,以定義工作的輸入、輸出與查詢。
啟動 Visual Studio。
選擇 檔案>新增專案。
在範本清單中,選擇 Stream Analytics,然後選擇 Azure 串流分析 Application。
輸入專案 名稱、 地點和 解決方案名稱,然後選擇 建立。
請注意 Azure 串流分析 專案中的元素。
選擇所需的訂閱
將 Visual Studio 連接到包含你所建立資源的 Azure 訂閱。
- 在 Visual Studio 的 [檢視] 功能表上,選取 [伺服器總管]。
- 選擇並長按(或右鍵點擊)Azure,選擇連接 Microsoft Azure 訂閱,然後用你的 Azure 帳號登入。
定義輸入
將作業輸入設定為讀取您所建立的物聯網中樞串流資料。
在方案總管中,展開輸入節點並開啟 Input.json。
使用下列值填寫 串流分析輸入設定 :
設定 建議的值 說明 輸入別名 Input 輸入名稱,以識別此作業的輸入資料。 來源類型 資料串流 選擇適當的輸入來源:資料串流或參考資料。 來源 IoT 中心 選擇適當的輸入來源。 Resource 從目前帳戶選擇資料來源 選擇手動輸入資料或選擇現有帳戶。 Subscription <您的訂閱> 選擇包含你所建立物聯網中樞的 Azure 訂閱。 IoT 中心 MyASAIoTHub 選擇或輸入你的物聯網集線中心名稱。 如果您在同一個訂閱中建立 IoT 中樞,其名稱會自動顯示。 將其他選項保留為預設值,然後選取 [儲存] 以儲存設定。
定義輸出
將工作輸出設定為把結果寫入您的 Blob 儲存體容器。
在方案總管中,展開輸出節點並開啟 Output.json。
使用下列值填寫 串流分析輸出設定 :
設定 建議的值 說明 輸出別名 輸出 輸入名稱以識別該工作產出。 水槽 Data Lake Storage Gen 2/Blob 儲存體 選擇合適的水槽。 Resource 手動提供資料來源設定 選擇手動輸入資料或選擇現有帳戶。 Subscription <您的訂閱> 選取具有您建立儲存體帳戶的 Azure 訂用帳戶。 儲存體帳戶可以位於相同或不同的訂用帳戶中。 這個例子假設你在同一訂閱中建立了儲存帳號。 記憶體帳戶 ASAquickstartstorage 選擇或輸入儲存體帳戶的名稱。 如果你在同一訂閱中創建儲存帳號名稱,它們會自動顯示。 容器 貨櫃1 選取您在儲存體帳戶中建立的現有容器。 路徑模式 輸出 輸入檔案路徑名稱,在容器內建立。 將其他選項保留為預設值,然後選取 [儲存] 以儲存設定。
定義轉換查詢
定義一個查詢,能過濾串流資料並將結果傳送到輸出端。
從 Visual Studio 中的 [方案總管] 開啟 Script.asaql。
新增下列查詢:
SELECT * INTO Output FROM Input WHERE Temperature > 27
將串流分析查詢提交至 Azure
將查詢提交到 Azure 以建立串流分析工作。
在 [查詢編輯器] 中,選取指令碼編輯器中的 [提交至 Azure ]。
在 [提交作業] 視窗中,選取 [ 建立新的 Azure 串流分析作業]。
輸入 工作名稱。
選擇 Azure 訂用帳戶。
選擇 資源群組。
保留 叢集的預設值。
選擇你在快速開始時使用的 地點 。
選取 提交。
執行 IoT 模擬器
執行 Raspberry Pi 模擬器,將樣本感測器資料傳送到你的物聯網集線中心。
在新的瀏覽器索引標籤或視窗中開啟 Raspberry Pi Azure IoT 線上模擬器 。
將第 15 行的佔位符替換成你在前一節儲存的 Azure IoT 中樞 裝置連線字串。
選擇 執行。 輸出應該會顯示感測器資料和傳送到物聯網集線的訊息。
啟動串流分析作業並檢查輸出
啟動工作並確認它是否處理輸入事件並將輸出寫入 blob 儲存。
當你建立工作時,工作檢視會自動開啟。 選擇綠色箭頭按鈕開始工作。
將 [作業輸出啟動模式 ] 變更為 [JobStartTime ],然後選取 [開始]。
工作狀態會變成 執行中,輸入和輸出事件也會出現。 這個變更可能需要幾分鐘。 選取工具列上的 重新整理 按鈕以重新整理指標。
要查看結果,請在 檢視 選單中選擇 雲端檔案總管,然後前往資源群組中的儲存帳號。 在 Blob 容器 下,開啟 container1,然後開啟 output 檔案路徑。
清理資源
當你不再需要它們時,刪除資源群組、串流工作以及所有相關資源。 刪除作業會停止計費其所取用的串流單位。 如果你打算未來繼續使用這份工作,請先停止,之後需要時再重新開始。 如果你不打算再使用這個工作,請依照以下步驟刪除本快速入門所產生的所有資源:
- 在 Azure 入口網站左側選單中,選擇資源群組,然後選擇你所建立的資源名稱。
- 在您的資源群組頁面上,選取 [刪除],在文字方塊中輸入要刪除的資源名稱,然後選取 [刪除]。