Sdílet prostřednictvím


Kurz: Vlastní deserializátory .NET pro Azure Stream Analytics v editoru Visual Studio Code (Preview)

Důležité

Vlastní deserializátor .net pro Azure Stream Analytics bude vyřazen 30. září 2024. Po tomto datu nebude možné tuto funkci použít.

Azure Stream Analytics má integrovanou podporu pro tři formáty dat: JSON, CSV a Avro, jak je znázorněno v tomto dokumentu. S vlastními deserializátory .NET můžete zpracovávat data v jiných formátech, jako jsou vyrovnávací paměť protokolu, Bond a další uživatelsky definované formáty pro cloudové úlohy. Tento kurz ukazuje, jak vytvořit, otestovat a ladit vlastní deserializátor .NET pro úlohu Azure Stream Analytics pomocí editoru Visual Studio Code.

Získáte následující informace:

  • Vytvořte vlastní deserializátor pro vyrovnávací paměť protokolu.
  • Vytvořte úlohu Azure Stream Analytics v editoru Visual Studio Code.
  • Nakonfigurujte úlohu Stream Analytics tak, aby používala vlastní deserializátor.
  • Spusťte úlohu Stream Analytics místně, abyste mohli otestovat a ladit vlastní deserializátor.

Požadavky

  • Nainstalujte sadu .NET Core SDK a restartujte Visual Studio Code.

  • V tomto rychlém startu se dozvíte, jak vytvořit úlohu Stream Analytics pomocí editoru Visual Studio Code.

Vytvoření vlastního deserializátoru

  1. Otevřete terminál a spuštěním následujícího příkazu vytvořte knihovnu tříd .NET v editoru Visual Studio Code pro vlastní deserializátor s názvem ProtobufDeserializer.

    dotnet new classlib -o ProtobufDeserializer
    
  2. Přejděte do adresáře projektu ProtobufDeserializer a nainstalujte balíčky NuGet Microsoft.Azure.StreamAnalytics a Google.Protobuf .

    dotnet add package Microsoft.Azure.StreamAnalytics
    
    dotnet add package Google.Protobuf
    
  3. Přidejte třídu MessageBodyProto a Třídu MessageBodyDeserializer do projektu.

  4. Sestavte projekt ProtobufDeserializer.

Přidání projektu Azure Stream Analytics

Otevřete Visual Studio Code a stisknutím kombinace kláves Ctrl+Shift+P otevřete paletu příkazů. Pak zadejte ASA a vyberte ASA: Vytvořit nový projekt. Pojmenujte ji ProtobufCloudDeserializer.

Konfigurace úlohy Stream Analytics

  1. Poklikejte na JobConfig.json. Použijte výchozí konfigurace s výjimkou následujících nastavení:

    Nastavení Navrhovaná hodnota
    Globální prostředek Nastavení úložiště Zvolit zdroj dat z aktuálního účtu
    Globální úložiště Nastavení předplatné < vaše předplatné >
    Globální účet úložiště Nastavení < váš účet úložiště >
    CustomCodeStorage Nastavení účet úložiště < váš účet úložiště >
    Kontejner customCodeStorage Nastavení < kontejner úložiště >
  2. V části Vstupní složka otevřete input.json. Vyberte Přidat živý vstup a přidejte vstup ze služby Azure Data Lake Storage Gen2 nebo Blob Storage a zvolte Možnost Vybrat z předplatného Azure. Použijte výchozí konfigurace s výjimkou následujících nastavení:

    Nastavení Navrhovaná hodnota
    Název Vstup
    Předplatné < vaše předplatné >
    Účet úložiště < váš účet úložiště >
    Kontejner < kontejner úložiště >
    Typ serializace Zvolit vlastní
    SerializationProjectPath Vyberte Možnost Zvolit cestu projektu knihovny z CodeLens a vyberte projekt knihovny ProtobufDeserializer vytvořený v předchozí části. Výběr projektu sestavení pro sestavení projektu
    SerializationClassName Výběrem možnosti Výběr třídy deserializace z CodeLens automaticky naplníte název třídy a cestu knihovny DLL.
    Název třídy MessageBodyProto.MessageBodyDeserializer

    Přidání vlastního vstupu deserializátoru

  3. Do souboru ProtobufCloudDeserializer.asaql přidejte následující dotaz.

    SELECT * FROM Input
    
  4. Stáhněte si ukázkový vstupní soubor protobuf. Ve složce Vstupy klikněte pravým tlačítkem na input.json a vyberte Přidat místní vstup. Potom poklikejte na local_input1.json a použijte výchozí konfigurace s výjimkou následujících nastavení.

    Nastavení Navrhovaná hodnota
    Výběr místní cesty k souboru Vyberte CodeLens a vyberte < cestu k souboru pro stažený ukázkový vstupní soubor protobuf.>

Spuštění úlohy Stream Analytics

  1. Otevřete ProtobufCloudDeserializer.asaql a vyberte Spustit místně z CodeLens a pak v rozevíracím seznamu zvolte Použít místní vstup .

  2. Na kartě Výsledky v diagramu úlohy můžete zobrazit výstupní výsledky. Můžete také kliknout na kroky v diagramu úloh a zobrazit průběžný výsledek. Další podrobnosti najdete v tématu Místní ladění pomocí diagramu úloh.

    Zkontrolujte výsledek místního spuštění.

Úspěšně jste implementovali vlastní deserializátor pro úlohu Stream Analytics! V tomto kurzu jste místně otestovali vlastní deserializátor s místními vstupními daty. Můžete ho také otestovat pomocí vstupu živých dat v cloudu. Pro spuštění úlohy v cloudu byste správně nakonfigurovali vstup a výstup. Pak odešlete úlohu do Azure ze sady Visual Studio Code, aby se úloha spustila v cloudu pomocí vlastního deserializátoru, který jste implementovali.

Ladění deserializátoru

Deserializátor .NET můžete ladit místně stejným způsobem jako standardní kód .NET.

  1. Přidejte do funkce .NET zarážky.

  2. Klikněte na Spustit z panelu aktivit editoru Visual Studio Code a vyberte vytvořit soubor launch.json. Vytvořte spouštěcí soubor.

    V rozevíracím seznamu zvolte ProtobufCloudDeserializer a pak v rozevíracím seznamu Azure Stream Analytics . Vytvořte spouštěcí soubor 2.

    Upravte soubor launch.json tak, aby nahradil <ASAScript.asaql> protobufCloudDeserializer.asaql. Nakonfigurujte spouštěcí soubor.

  3. Stisknutím klávesy F5 spusťte ladění. Program se podle očekávání bude zastavovat na zarážkách. To funguje pro místní vstupní i živá vstupní data.

    Ladění vlastního deserializátoru

Vyčištění prostředků

Odstraňte skupinu prostředků, úlohu streamování a všechny související prostředky, pokud je už nepotřebujete. Odstraněním úlohy se zabrání zaúčtování jednotek streamování, které daná úloha spotřebovává. Pokud plánujete používat tuto úlohu v budoucnu, můžete ji zastavit a znovu ji spustit později, až ji budete potřebovat. Pokud tuto úlohu nebudete dál používat, pomocí následujícího postupu odstraňte všechny prostředky vytvořené v tomto kurzu:

  1. V nabídce vlevo na portálu Azure Portal vyberte Skupiny prostředků a potom zvolte název vytvořeného prostředku.

  2. Na stránce skupiny prostředků zvolte Odstranit, do textového pole zadejte prostředek, který chcete odstranit, a potom vyberte Odstranit.

Další kroky

V tomto kurzu jste zjistili, jak implementovat vlastní deserializátor .NET pro serializaci vstupu vyrovnávací paměti protokolu. Další informace o vytvářenívlastníchch