Dela via


Anpassade .NET-deserializers för Azure Stream Analytics i Visual Studio (förhandsversion)

Viktigt!

Anpassad .net deserializer för Azure Stream Analytics dras tillbaka den 30 september 2024. Efter det datumet går det inte att använda funktionen. Övergå till en inbyggd JSON-, AVRO- eller CSV-deserialiserare vid det datumet.

Azure Stream Analytics har inbyggt stöd för tre dataformat: JSON, CSV och Avro. Med anpassade .NET-deserialiserare kan du läsa data från andra format som Protokollbuffert, Bond och andra användardefinierade format för både moln- och gränsjobb.

Den här självstudien visar hur du skapar en anpassad .NET-deserializer för ett Azure Stream Analytics-molnjobb med hjälp av Visual Studio. Information om hur du skapar .NET-deserialiserare i Visual Studio Code finns i Skapa .NET-deserialiserare för Azure Stream Analytics-jobb i Visual Studio Code.

I den här självstudien lär du dig att:

  • Skapa en anpassad deserializer för protokollbuffert.
  • Skapa ett Azure Stream Analytics-jobb i Visual Studio.
  • Konfigurera Stream Analytics-jobbet så att det använder den anpassade deserialiseraren.
  • Kör Stream Analytics-jobbet lokalt för att testa och felsöka den anpassade deserialiseraren.

Förutsättningar

Skapa en anpassad deserializer

  1. Öppna Visual Studio och välj Nytt >> filprojekt. Sök efter Stream Analytics och välj Azure Stream Analytics Custom Deserializer Project (.NET). Ge projektet ett namn, till exempel Protobuf Deserializer.

    Create Visual Studio dotnet standard class library project

  2. Högerklicka på Protobuf Deserializer-projektet i Solution Explorer och välj Hantera NuGet-paket på menyn. Installera sedan NuGet-paketen Microsoft.Azure.StreamAnalytics och Google.Protobuf .

  3. Lägg till klassen MessageBodyProto och klassen MessageBodyDeserializer i projektet.

  4. Skapa Protobuf Deserializer-projektet.

Lägga till ett Azure Stream Analytics-projekt

  1. Högerklicka på Protobuf Deserializer-lösningen i Solution Explorer och välj Lägg till > nytt projekt. Under Azure Stream Analytics > Stream Analytics väljer du Azure Stream Analytics-program. Ge den namnet ProtobufCloudDeserializer och välj OK.

  2. Högerklicka på Referenser under Projektet ProtobufCloudDeserializer Azure Stream Analytics. Under Projekt lägger du till Protobuf Deserializer. Den bör fyllas i automatiskt åt dig.

Konfigurera ett Stream Analytics-jobb

  1. Dubbelklicka på JobConfig.json. Använd standardkonfigurationerna, förutom följande inställningar:

    Inställning Föreslaget värde
    Global lagringsresurs Inställningar Välj datakälla från det aktuella kontot
    Global Storage Inställningar-prenumeration < din prenumeration >
    Globalt lagringskonto Inställningar lagring < ditt lagringskonto >
    Anpassad kodlagring Inställningar resurs Välj datakälla från det aktuella kontot
    Lagringskonto för anpassad kod Inställningar < ditt lagringskonto >
    Anpassad kodlagring Inställningar container < din lagringscontainer >
  2. Under Indata dubbelklickar du på Input.json. Använd standardkonfigurationerna, förutom följande inställningar:

    Inställning Föreslaget värde
    Källa Blob Storage
    Resurs Välj datakälla från det aktuella kontot
    Prenumeration < din prenumeration >
    Lagringskonto < ditt lagringskonto >
    Container < din lagringscontainer >
    Händelseserialiseringsformat Other (Protobuf, XML, proprietary...)
    Resurs Läs in från ASA-projektreferens eller CodeBehind
    CSharp-sammansättningsnamn ProtobufDeserializer.dll
    Klassnamn MessageBodyProto.MessageBodyDeserializer
    Komprimeringstyp för händelsen Ingen
  3. Lägg till följande fråga i filen Script.asaql .

    SELECT * FROM Input
    
  4. Ladda ned protobuf-exempelindatafilen. I mappen Indata högerklickar du på Input.json och väljer Lägg till lokala indata. Dubbelklicka sedan på local_Input.json och konfigurera följande inställningar:

    Inställning Föreslaget värde
    Indataalias Indata
    Källtyp Dataström
    Händelseserialiseringsformat Other (Protobuf, XML, proprietary...)
    CSharp-sammansättningsnamn ProtobufDeserializer.dll
    Klassnamn MessageBodyProto.MessageBodyDeserializer
    Sökväg till lokal indatafil < filsökvägen för den nedladdade protobuf-exempelindatafilen>

Kör Stream Analytics-jobbet

  1. Öppna Script.asaql och välj Kör lokalt.

  2. Observera resultaten i Resultat för lokal körning i Stream Analytics.

Du har implementerat en anpassad deserializer för ditt Stream Analytics-jobb! I den här självstudien testade du den anpassade deserialiseraren lokalt. För dina faktiska data skulle du konfigurera indata och utdata korrekt. Skicka sedan jobbet till Azure från Visual Studio för att köra jobbet i molnet med den anpassade deserialiseraren som du precis implementerade.

Felsöka din deserialiserare

Du kan felsöka .NET-deserialiseraren lokalt på samma sätt som du felsöker standard .NET-kod.

  1. Högerklicka på ProtobufCloudDeserializer-projektnamnet och ange det som startprojekt.

  2. Lägg till brytpunkter i funktionen.

  3. Starta felsökningen genom att trycka på F5. Programmet kommer att avbrytas vid dina brytpunkter som förväntat.

Rensa resurser

Ta bort resursgruppen, strömningsjobbet och alla relaterade resurser när de inte längre behövs. Om du tar bort jobbet undviker du att bli fakturerad för de strömmande enheter som används av jobbet. Om du planerar att använda jobbet i framtiden kan du stoppa det och sedan starta det igen när du behöver det. Om du inte tänker fortsätta använda det här jobbet tar du bort alla resurser som skapades i självstudien med följande steg:

  1. Klicka på Resursgrupper på den vänstra menyn i Azure-portalen och välj sedan namnet på den resurs du skapade.

  2. På sidan med resursgrupper klickar du på Ta bort, skriver in namnet på resursen som ska tas bort i textrutan och väljer sedan Ta bort.

Nästa steg

I den här självstudien har du lärt dig hur du implementerar en anpassad .NET-deserialiserare för protokollbuffertens serialisering. Om du vill veta mer om hur du skapar anpassade deserialiserare fortsätter du till följande artikel: