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
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
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
Přidejte třídu MessageBodyProto a Třídu MessageBodyDeserializer do projektu.
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
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ě > 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 Do souboru ProtobufCloudDeserializer.asaql přidejte následující dotaz.
SELECT * FROM Input
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
Otevřete ProtobufCloudDeserializer.asaql a vyberte Spustit místně z CodeLens a pak v rozevíracím seznamu zvolte Použít místní vstup .
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.
Ú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.
Přidejte do funkce .NET zarážky.
Klikněte na Spustit z panelu aktivit editoru Visual Studio Code a vyberte vytvořit soubor launch.json.
V rozevíracím seznamu zvolte ProtobufCloudDeserializer a pak v rozevíracím seznamu Azure Stream Analytics .
Upravte soubor launch.json tak, aby nahradil <ASAScript.asaql> protobufCloudDeserializer.asaql.
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.
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:
V nabídce vlevo na portálu Azure Portal vyberte Skupiny prostředků a potom zvolte název vytvořeného prostředku.
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