共用方式為


教學課程:Visual Studio Code 中適用於 Azure 串流分析的自定義 .NET 還原串行化程式 (預覽)

重要

Azure 串流分析的自定義 .net 還原串行化程式將於 2024 年 9 月 30 日淘汰。 在該日期之後,將無法使用此功能。

Azure 串流分析內建支援三種數據格式:JSON、CSV 和 Avro,如本 所示。使用自定義 .NET 還原串行化程式,您可以處理其他格式的數據,例如 通訊協定緩衝區邦德 和其他雲端作業的使用者定義格式。 本教學課程示範如何使用 Visual Studio Code 建立、測試及偵錯 Azure 串流分析作業的自定義 .NET 還原串行化程式。

您將了解如何:

  • 建立通訊協議緩衝區的自定義還原串行化程式。
  • 在 Visual Studio Code 中建立 Azure 串流分析作業。
  • 設定串流分析作業以使用自定義還原串行化程式。
  • 在本機執行串流分析作業,以測試和偵錯自定義還原串行化程式。

必要條件

建立自訂還原串行化程式

  1. 開啟終端機並執行下列命令,以在 Visual Studio Code 中建立名為 ProtobufDeserializer 的自定義還原串行化程式.NET 類別庫。

    dotnet new classlib -o ProtobufDeserializer
    
  2. 移至 ProtobufDeserializer 專案目錄,並安裝 Microsoft.Azure.StreamAnalyticsGoogle.Protobuf NuGet 套件。

    dotnet add package Microsoft.Azure.StreamAnalytics
    
    dotnet add package Google.Protobuf
    
  3. MessageBodyProto 類別MessageBodyDeserializer 類別 新增至您的專案。

  4. 建置 ProtobufDeserializer 專案。

新增 Azure 串流分析專案

開啟 Visual Studio Code,然後選取 Ctrl+Shift+P 以開啟命令選擇區。 然後輸入 ASA,然後選取 [ASA:建立新專案]。 將它命名為 ProtobufCloudDeserializer

設定串流分析作業

  1. 按兩下 JobConfig.json。 使用預設組態,但下列設定除外:

    設定 建議的值
    全域儲存體設定資源 選擇來自目前帳戶的資料來源
    全域儲存體設定訂用帳戶 < 您的訂用帳戶 >
    全域儲存體設定儲存體帳戶 < 您的儲存體帳戶 >
    CustomCode 儲存體 設定 儲存體 帳戶 < 您的儲存體帳戶 >
    CustomCode 儲存體 設定 容器 < 您的儲存體容器 >
  2. [輸入] 資料夾下,開啟 [input.json]。 選取 [新增實時輸入],然後從 Azure Data Lake 儲存體 Gen2/Blob 記憶體新增輸入,然後選擇 [從您的 Azure 訂用帳戶選取]。 使用預設組態,但下列設定除外:

    設定 建議的值
    名稱 輸入
    訂用帳戶 < 您的訂用帳戶 >
    儲存體帳戶 < 您的儲存體帳戶 >
    容器 < 您的儲存體容器 >
    串行化類型 選擇 [自訂]
    SerializationProjectPath CodeLens 選取 [選擇連結庫項目路徑 ],然後選取上一節中建立的 ProtobufDeserializer 連結庫專案。 選取 建置專案 以建置專案
    SerializationClassName 從 CodeLens 選取 [還原串行化類別] 以自動填入類別名稱和 DLL 路徑
    類別名稱 MessageBodyProto.MessageBodyDeserializer

    新增自訂還原串行化程序輸入。

  3. 將下列查詢新增至 ProtobufCloudDeserializer.asaql 檔案。

    SELECT * FROM Input
    
  4. 下載範例 protobuf 輸入檔。 在 [ 輸入] 資料夾中,以滑鼠右鍵按兩下 input.json ,然後選取 [ 新增本機輸入]。 然後,按兩下local_input1.json並使用預設組態,但下列設定除外。

    設定 建議的值
    選取本機檔案路徑 選取 CodeLens 以選取 < 所下載範例 Protobuf 輸入檔的檔案路徑>

執行串流分析作業

  1. 開啟 ProtobufCloudDeserializer.asaql ,然後從 CodeLens 選取 [在本機 執行],然後選擇下拉式清單中的 [ 使用本機輸入 ]。

  2. 在 [作業圖表] 的 [ 結果] 索引標籤下,您可以檢視輸出結果。 您也可以按下作業圖表中的步驟,以檢視中繼結果。 如需詳細資訊,請參閱 使用作業圖表在本機偵錯。

    檢查本機執行結果。

您已成功為串流分析作業實作自定義還原串行化程式! 在本教學課程中,您已使用本機輸入數據在本機測試自定義還原串行化程式。 您也可以使用雲端中的實時數據輸入來測試它。 若要在雲端中執行作業,您可以正確設定輸入和輸出。 然後,使用您實作的自定義還原串行化程式,從Visual Studio Code將作業提交至 Azure,以在雲端中執行作業。

偵錯還原串行化程式

您可以在本機偵錯 .NET 還原串行化程式,就像偵錯標準 .NET 程式代碼一樣。

  1. 在 .NET 函式中新增斷點。

  2. 按兩下 [ 從Visual Studio Code 活動列執行 ],然後選取 [建立launch.json檔案]。 建立啟動檔案。

    下拉式清單中選擇 [ProtobufCloudDeserializer ],然後選擇 [Azure 串流分析 ]。 建立啟動檔案 2。

    編輯launch.json檔案,以 ProtobufCloudDeserializer.asaql 取代 <ASAScript.asaql>。 設定啟動檔案。

  3. F5 開始偵錯作業。 程式會如預期般停止於斷點。 這適用於本機輸入和即時輸入數據。

    偵錯自定義還原串行化程式。

清除資源

若不再需要,可刪除資源群組、串流作業和所有相關資源。 刪除作業可避免因為作業使用串流單位而產生費用。 如果您計劃在未來使用該作業,您可以將其停止並在之後需要時重新啟動。 如果您不打算繼續使用此作業,請使用下列步驟刪除本教學課程所建立的所有資源:

  1. 從 Azure 入口網站的左側功能表中,選取 [資源群組],然後選取您所建立資源的名稱。

  2. 在資源群組頁面上,選取 [刪除],在文字方塊中輸入要刪除的資源名稱,然後選取 [刪除]

下一步

在本教學課程中,您已瞭解如何實作通訊協定緩衝區輸入串行化的自定義 .NET 還原串行化程式。 若要深入瞭解如何建立自定義還原串行化程式,請繼續閱讀下列文章: