使用 Visual Studio (預覽) 建立 Azure 串流分析的自訂 .NET 還原序列化程式
Azure 串流分析具有三種資料格式的內建支援: JSON、CSV 和 Avro。 透過自訂 .NET 還原序列化程式,您可以讀取其他格式的資料,例如通訊協定緩衝區、Bond,以及雲端和 Edge 作業的其他使用者定義格式。
本教學課程示範如何使用 Visual Studio 建立 Azure 串流分析雲端作業的自訂 .NET 還原序列化程式。 若要了解如何在 Visual Studio Code 中建立 .NET 還原序列化程式,請參閱在 Visual Studio Code 中建立適用於 Azure 串流分析作業的 .NET 還原序列化程式。
在本教學課程中,您會了解如何:
- 建立通訊協定緩衝區的自訂還原序列化程式。
- 在 Visual Studio 中建立 Azure 串流分析作業。
- 將您的串流分析作業設定為使用自訂還原序列化程式。
- 在本機執行串流分析作業,以測試自訂還原序列化程式,並進行偵錯。
開啟 Visual Studio,然後選取 [檔案 > 新增 > 專案]。 搜尋串流分析,並選取 [Azure 串流分析自訂還原序列化程式專案 (.NET)]。 指定專案的名稱,例如 Protobuf 還原序列化程式。

在方案總管中,以滑鼠右鍵按一下 Protobuf 還原序列化程式專案,然後從功能表中選取 [管理 NuGet 套件]。 然後,安裝 Microsoft.Azure.StreamAnalytics 和 Google.Protobuf NuGet 套件。
將 MessageBodyProto 類別和 MessageBodyDeserializer 類別新增至您的專案。
建置 Protobuf 還原序列化程式專案。
在方案總管中,以滑鼠右鍵按一下 [Protobuf 還原序列化程式] 方案,然後選取 [新增 > 新增專案]。 在 [Azure 串流分析 > 串流分析] 底下,選擇 [Azure 串流分析應用程式]。 將其命名 ProtobufCloudDeserializer,然後選取 [確定]。
以滑鼠右鍵按一下 ProtobufCloudDeserializer Azure 串流分析專案下的 [參考]。 在 [專案] 底下,新增 Protobuf 還原序列化程式。 此項目應該會自動填入。
按兩下 JobConfig.json。 使用預設組態,但下列設定除外:
設定 |
建議的值 |
全域儲存體設定資源 |
選擇來自目前帳戶的資料來源 |
全域儲存體設定訂用帳戶 |
< 您的訂用帳戶 > |
全域儲存體設定儲存體帳戶 |
< 您的儲存體帳戶 > |
自訂程式碼儲存體設定資源 |
選擇來自目前帳戶的資料來源 |
自訂程式碼儲存體設定儲存體帳戶 |
< 您的儲存體帳戶 > |
自訂程式碼儲存體設定容器 |
< 您的儲存體容器 > |
在 [輸入] 底下,按兩下 Input.json。 使用預設組態,但下列設定除外:
設定 |
建議的值 |
來源 |
Blob 儲存體 |
資源 |
選擇來自目前帳戶的資料來源 |
訂用帳戶 |
< 您的訂用帳戶 > |
儲存體帳戶 |
< 您的儲存體帳戶 > |
容器 |
< 您的儲存體容器 > |
事件序列化格式 |
其他 (Protobuf、XML、專屬...) |
資源 |
從 ASA 專案參考或 CodeBehind 載入 |
CSharp 組件名稱 |
ProtobufDeserializer.dll |
類別名稱 |
MessageBodyProto.MessageBodyDeserializer |
事件壓縮類型 |
無 |
將下列查詢新增至 script.asaql 檔案。
SELECT * FROM Input
下載範例 protobuf 輸入檔。 在 [輸入] 資料夾中,以滑鼠右鍵按一下 [Input.json],然後選取 [新增本機輸入]。 然後,按兩下 local_Input.json,並設定下列設定:
設定 |
建議的值 |
輸入別名 |
輸入 |
來源類型 |
資料流 |
事件序列化格式 |
其他 (Protobuf、XML、專屬...) |
CSharp 組件名稱 |
ProtobufDeserializer.dll |
類別名稱 |
MessageBodyProto.MessageBodyDeserializer |
本機輸入檔案路徑 |
< 已下載的範例 protobuf 輸入檔的檔案路徑> |
開啟 script.asaql,並選取 [在本機執行]。
觀察 [串流分析本機執行結果] 中的結果。
您已成功為您的串流分析作業執行自訂還原序列化程式! 在本教學課程中,您在本機測試了自訂還原序列化程式。 針對您的實際資料,您應適當設定輸入和輸出。 然後,從 Visual Studio 將作業提交至 Azure,以使用您剛剛實作的自訂還原序列化程式在雲端中執行您的作業。
您可以透過用來對標準 .NET 程式碼進行偵錯的相同方式,在本機對 .NET 還原序列化程式進行偵錯。
以滑鼠右鍵按一下 ProtobufCloudDeserializer 專案名稱,並將其設定為啟始專案。
在函式中新增中斷點。
按 F5 開始偵錯作業。 程式將如預期般地在您的中斷點處停止。
若不再需要,可刪除資源群組、串流作業和所有相關資源。 刪除作業可避免因為作業使用串流單位而產生費用。 如果您計劃在未來使用該作業,您可以將其停止並在之後需要時重新啟動。 如果您不再繼續使用此作業,請使用下列步驟,刪除本教學課程所建立的所有資源:
從 Azure 入口網站的左側功能表中,選取 [資源群組],然後選取您所建立資源的名稱。
在資源群組頁面上,選取 [刪除],在文字方塊中輸入要刪除的資源名稱,然後選取 [刪除]。
在本教學課程中,您已了解如何為通訊協定緩衝區輸入序列化實作自訂的 .NET 還原序列化程式。 若要深入了解如何建立自訂還原序列化程式,請繼續閱讀下列文章: