教學課程:Visual Studio Code 中適用於 Azure 串流分析的自定義 .NET 還原串行化程式 (預覽)
重要
Azure 串流分析的自定義 .net 還原串行化程式將於 2024 年 9 月 30 日淘汰。 在該日期之後,將無法使用此功能。
Azure 串流分析內建支援三種數據格式:JSON、CSV 和 Avro,如本 檔所示。使用自定義 .NET 還原串行化程式,您可以處理其他格式的數據,例如 通訊協定緩衝區、 邦德 和其他雲端作業的使用者定義格式。 本教學課程示範如何使用 Visual Studio Code 建立、測試及偵錯 Azure 串流分析作業的自定義 .NET 還原串行化程式。
您將了解如何:
- 建立通訊協議緩衝區的自定義還原串行化程式。
- 在 Visual Studio Code 中建立 Azure 串流分析作業。
- 設定串流分析作業以使用自定義還原串行化程式。
- 在本機執行串流分析作業,以測試和偵錯自定義還原串行化程式。
必要條件
安裝 .NET Core SDK 並重新啟動Visual Studio Code。
使用此快速入門瞭解如何使用 Visual Studio Code 建立串流分析作業。
建立自訂還原串行化程式
開啟終端機並執行下列命令,以在 Visual Studio Code 中建立名為 ProtobufDeserializer 的自定義還原串行化程式.NET 類別庫。
dotnet new classlib -o ProtobufDeserializer
移至 ProtobufDeserializer 專案目錄,並安裝 Microsoft.Azure.StreamAnalytics 和 Google.Protobuf NuGet 套件。
dotnet add package Microsoft.Azure.StreamAnalytics
dotnet add package Google.Protobuf
將 MessageBodyProto 類別 和 MessageBodyDeserializer 類別 新增至您的專案。
建置 ProtobufDeserializer 專案。
新增 Azure 串流分析專案
開啟 Visual Studio Code,然後選取 Ctrl+Shift+P 以開啟命令選擇區。 然後輸入 ASA,然後選取 [ASA:建立新專案]。 將它命名為 ProtobufCloudDeserializer。
設定串流分析作業
按兩下 JobConfig.json。 使用預設組態,但下列設定除外:
設定 建議的值 全域儲存體設定資源 選擇來自目前帳戶的資料來源 全域儲存體設定訂用帳戶 < 您的訂用帳戶 > 全域儲存體設定儲存體帳戶 < 您的儲存體帳戶 > CustomCode 儲存體 設定 儲存體 帳戶 < 您的儲存體帳戶 > CustomCode 儲存體 設定 容器 < 您的儲存體容器 > 在 [輸入] 資料夾下,開啟 [input.json]。 選取 [新增實時輸入],然後從 Azure Data Lake 儲存體 Gen2/Blob 記憶體新增輸入,然後選擇 [從您的 Azure 訂用帳戶選取]。 使用預設組態,但下列設定除外:
設定 建議的值 名稱 輸入 訂用帳戶 < 您的訂用帳戶 > 儲存體帳戶 < 您的儲存體帳戶 > 容器 < 您的儲存體容器 > 串行化類型 選擇 [自訂] SerializationProjectPath 從 CodeLens 選取 [選擇連結庫項目路徑 ],然後選取上一節中建立的 ProtobufDeserializer 連結庫專案。 選取 建置專案 以建置專案 SerializationClassName 從 CodeLens 選取 [還原串行化類別] 以自動填入類別名稱和 DLL 路徑 類別名稱 MessageBodyProto.MessageBodyDeserializer 將下列查詢新增至 ProtobufCloudDeserializer.asaql 檔案。
SELECT * FROM Input
下載範例 protobuf 輸入檔。 在 [ 輸入] 資料夾中,以滑鼠右鍵按兩下 input.json ,然後選取 [ 新增本機輸入]。 然後,按兩下local_input1.json並使用預設組態,但下列設定除外。
設定 建議的值 選取本機檔案路徑 選取 CodeLens 以選取 < 所下載範例 Protobuf 輸入檔的檔案路徑>
執行串流分析作業
開啟 ProtobufCloudDeserializer.asaql ,然後從 CodeLens 選取 [在本機 執行],然後選擇下拉式清單中的 [ 使用本機輸入 ]。
在 [作業圖表] 的 [ 結果] 索引標籤下,您可以檢視輸出結果。 您也可以按下作業圖表中的步驟,以檢視中繼結果。 如需詳細資訊,請參閱 使用作業圖表在本機偵錯。
您已成功為串流分析作業實作自定義還原串行化程式! 在本教學課程中,您已使用本機輸入數據在本機測試自定義還原串行化程式。 您也可以使用雲端中的實時數據輸入來測試它。 若要在雲端中執行作業,您可以正確設定輸入和輸出。 然後,使用您實作的自定義還原串行化程式,從Visual Studio Code將作業提交至 Azure,以在雲端中執行作業。
偵錯還原串行化程式
您可以在本機偵錯 .NET 還原串行化程式,就像偵錯標準 .NET 程式代碼一樣。
在 .NET 函式中新增斷點。
按兩下 [ 從Visual Studio Code 活動列執行 ],然後選取 [建立launch.json檔案]。
從 下拉式清單中選擇 [ProtobufCloudDeserializer ],然後選擇 [Azure 串流分析 ]。
編輯launch.json檔案,以 ProtobufCloudDeserializer.asaql 取代 <ASAScript.asaql>。
按 F5 開始偵錯作業。 程式會如預期般停止於斷點。 這適用於本機輸入和即時輸入數據。
清除資源
若不再需要,可刪除資源群組、串流作業和所有相關資源。 刪除作業可避免因為作業使用串流單位而產生費用。 如果您計劃在未來使用該作業,您可以將其停止並在之後需要時重新啟動。 如果您不打算繼續使用此作業,請使用下列步驟刪除本教學課程所建立的所有資源:
從 Azure 入口網站的左側功能表中,選取 [資源群組],然後選取您所建立資源的名稱。
在資源群組頁面上,選取 [刪除],在文字方塊中輸入要刪除的資源名稱,然後選取 [刪除]。
下一步
在本教學課程中,您已瞭解如何實作通訊協定緩衝區輸入串行化的自定義 .NET 還原串行化程式。 若要深入瞭解如何建立自定義還原串行化程式,請繼續閱讀下列文章: