Delen via


Zelfstudie: Aangepaste .NET-deserializers voor Azure Stream Analytics in Visual Studio Code (preview)

Belangrijk

Custom .net deserializer voor Azure Stream Analytics wordt op 30 september 2024 buiten gebruik gesteld. Na die datum is het niet mogelijk om de functie te gebruiken.

Azure Stream Analytics biedt ingebouwde ondersteuning voor drie gegevensindelingen: JSON, CSV en Avro, zoals wordt weergegeven in dit document. Met aangepaste .NET-deserializers kunt u gegevens verwerken in andere indelingen, zoals Protocol Buffer, Bond en andere door de gebruiker gedefinieerde indelingen voor cloudtaken. In deze zelfstudie ziet u hoe u een aangepaste .NET-deserializer voor een Azure Stream Analytics-taak maakt, test en fouten opssport met behulp van Visual Studio Code.

U leert het volgende:

  • Een aangepaste deserializer maken voor protocol buffer.
  • Maak een Azure Stream Analytics-taak in Visual Studio Code.
  • Uw Stream Analytics-taak configureren voor het gebruik van de aangepaste deserializer.
  • Uw Stream Analytics-taak lokaal testen om de aangepaste deserializer te testen en fouten op te sporen.

Vereisten

  • Installeer de .NET Core SDK en start Visual Studio Code opnieuw.

  • Gebruik deze quickstart voor meer informatie over het maken van een Stream Analytics-taak met behulp van Visual Studio Code.

Een aangepaste deserializer maken

  1. Open een terminal en voer de volgende opdracht uit om een .NET-klassebibliotheek te maken in Visual Studio Code voor uw aangepaste deserializer met de naam ProtobufDeserializer.

    dotnet new classlib -o ProtobufDeserializer
    
  2. Ga naar de projectmap ProtobufDeserializer en installeer de Microsoft.Azure.StreamAnalytics - en Google.Protobuf NuGet-pakketten.

    dotnet add package Microsoft.Azure.StreamAnalytics
    
    dotnet add package Google.Protobuf
    
  3. Voeg de MessageBodyProto-klasse en de MessageBodyDeserializer-klasse toe aan uw project.

  4. Bouw het ProtobufDeserializer-project .

Een Azure Stream Analytics-project toevoegen

Open Visual Studio Code en selecteer Ctrl+Shift+P om het opdrachtenpalet te openen. Voer vervolgens ASA in en selecteer ASA: Nieuw project maken. Noem het ProtobufCloudDeserializer.

Een Stream Analytics-taak configureren

  1. Dubbelklik op JobConfig.json. Gebruik de standaardconfiguraties, met uitzondering van de volgende instellingen:

    Instelling Voorgestelde waarde
    Resource globale opslaginstellingen Kies gegevensbron van het huidige account
    Abonnement voor globale opslaginstellingen < uw abonnement >
    Globale opslaginstellingen opslagaccount < uw opslagaccount >
    CustomCodeStorage Instellingen-opslagaccount < uw opslagaccount >
    CustomCodeStorage Instellingen-container < uw opslagcontainer >
  2. Open input.json onder De map Invoer. Selecteer Live-invoer toevoegen en voeg een invoer toe vanuit Azure Data Lake Storage Gen2/Blob Storage, kies Selecteren in uw Azure-abonnement. Gebruik de standaardconfiguraties, met uitzondering van de volgende instellingen:

    Instelling Voorgestelde waarde
    Naam Invoer
    Abonnement < uw abonnement >
    Opslagaccount < uw opslagaccount >
    Container < uw opslagcontainer >
    Serialisatietype Aangepast kiezen
    SerializationProjectPath Selecteer Bibliotheekprojectpad kiezen in CodeLens en selecteer het ProtobufDeserializer-bibliotheekproject dat in de vorige sectie is gemaakt. Bouwproject selecteren om het project te bouwen
    SerializationClassName Selecteer deserialisatieklasse van CodeLens om de klassenaam en het DLL-pad automatisch in te vullen
    Klassenaam MessageBodyProto.MessageBodyDeserializer

    Aangepaste deserializer-invoer toevoegen.

  3. Voeg de volgende query toe aan het protobufCloudDeserializer.asaql-bestand .

    SELECT * FROM Input
    
  4. Download het voorbeeld protobuf-invoerbestand. Klik in de map Invoer met de rechtermuisknop op input.json en selecteer Lokale invoer toevoegen. Dubbelklik vervolgens op local_input1.json en gebruik de standaardconfiguraties, met uitzondering van de volgende instellingen.

    Instelling Voorgestelde waarde
    Lokaal bestandspad selecteren Selecteer CodeLens om het bestandspad voor het gedownloade protobuf-invoerbestand te selecteren <>

De Stream Analytics-taak uitvoeren

  1. Open ProtobufCloudDeserializer.asaql en selecteer Lokaal uitvoeren vanuit CodeLens en kies Lokale invoer gebruiken in de vervolgkeuzelijst.

  2. Op het tabblad Resultaten in het taakdiagram kunt u de uitvoerresultaten bekijken. U kunt ook klikken op de stappen in het taakdiagram om het tussenliggende resultaat weer te geven. Zie Fouten lokaal opsporen met behulp van een taakdiagram voor meer informatie.

    Controleer het resultaat van de lokale uitvoering.

U hebt een aangepaste deserializer geïmplementeerd voor uw Stream Analytics-taak. In deze zelfstudie hebt u de aangepaste deserializer lokaal getest met lokale invoergegevens. U kunt deze ook testen met behulp van livegegevensinvoer in de cloud. Voor het uitvoeren van de taak in de cloud configureert u de invoer en uitvoer correct. Verzend vervolgens de taak vanuit Visual Studio Code naar Azure om uw taak in de cloud uit te voeren met behulp van de aangepaste deserializer die u hebt geïmplementeerd.

Fouten opsporen in uw deserializer

U kunt lokaal fouten opsporen in uw .NET-deserializer, op dezelfde manier als dat u fouten opspoort in standaard .NET-code.

  1. Voeg onderbrekingspunten toe aan uw .NET-functie.

  2. Klik op De activiteitsbalk van Visual Studio Code en selecteer een launch.json-bestand maken. Startbestand maken.

    Kies ProtobufCloudDeserializer en vervolgens Azure Stream Analytics in de vervolgkeuzelijst. Startbestand 2 maken.

    Bewerk het bestand launch.json om ASAScript.asaql> te vervangen door <ProtobufCloudDeserializer.asaql. Startbestand configureren.

  3. Druk op F5 om de foutopsporing te starten. Het programma stopt bij de onderbrekingspunten, zoals verwacht. Dit werkt voor zowel lokale invoer als live invoergegevens.

    Fouten opsporen in aangepaste deserializer.

Resources opschonen

Wanneer u een resourcegroep niet meer nodig hebt, verwijdert u de resourcegroep, de streamingtaak en alle gerelateerde resources. Door de taak te verwijderen, voorkomt u dat de streaming-eenheden die door de taak worden verbruikt, in rekening worden gebracht. Als u denkt dat u de taak in de toekomst nog gaat gebruiken, kunt u deze stoppen en later opnieuw starten wanneer dat nodig is. Als u deze taak niet wilt blijven gebruiken, verwijdert u alle resources die in deze zelfstudie zijn gemaakt door de volgende stappen:

  1. Selecteer in het menu aan de linkerkant in Azure Portal de optie Resourcegroepen en selecteer vervolgens de resource die u hebt gemaakt.

  2. Selecteer op de pagina van uw resourcegroep de optie Verwijderen, typ de naam van de resource die u wilt verwijderen in het tekstvak en selecteer vervolgens Verwijderen.

Volgende stappen

In deze zelfstudie hebt u geleerd hoe u een aangepaste .NET-deserializer kunt implementeren voor de protocol buffer-invoerserialisatie. Ga door naar het volgende artikel voor meer informatie over het maken van aangepaste deserializers: