Aangepaste .NET-deserializers voor Azure Stream Analytics in Visual Studio (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. Schakel op die datum over naar een ingebouwde JSON-, AVRO- of CSV-deserializer .
Azure Stream Analytics biedt ingebouwde ondersteuning voor drie gegevensindelingen: JSON, CSV en Avro. Met aangepaste .NET-deserializers kunt u gegevens lezen uit andere indelingen, zoals Protocol Buffer, Bond en andere door de gebruiker gedefinieerde indelingen voor zowel cloud- als Edge-taken.
In deze zelfstudie wordt gedemonstreerd hoe u een aangepaste .NET-deserializer maakt voor een Azure Stream Analytics-cloudtaak met behulp van Visual Studio. Raadpleeg .NET-deserializers voor Azure Stream Analytics-taken maken in Visual Studio Code voor meer informatie over het maken van .NET-deserializers in Visual Studio Code.
In deze zelfstudie leert u het volgende:
- Een aangepaste deserializer maken voor protocol buffer.
- Een Azure Stream Analytics-taak maken in Visual Studio.
- 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
Als u nog geen Azure-abonnement hebt, maakt u een gratis account.
Installeer Visual Studio 2019 (aanbevolen) of Visual Studio 2017. Enterprise- (Ultimate/Premium), Professional- en Community-edities worden ondersteund. De Express-editie wordt niet ondersteund.
Installeer de Stream Analytics-hulpprogramma's voor Visual Studio of werk bij naar de nieuwste versie.
Open Cloud Explorer- in Visual Studio en meld u aan bij uw Azure-abonnement.
Maak een container in uw Azure Storage-account. De container die u maakt, wordt gebruikt voor het opslaan van assets die zijn gerelateerd aan uw Stream Analytics-taak. Als u al een opslagaccount met bestaande containers hebt, kunt u die gebruiken. Zo niet, maak dan een nieuwe container.
Een aangepaste deserializer maken
Open Visual Studio en selecteer Bestand > nieuw > project. Zoek naar Stream Analytics en selecteer Azure Stream Analytics Custom Deserializer Project (.NET). Geef het project een naam, zoals Protobuf Deserializer.
Klik in Solution Explorer met de rechtermuisknop op uw Protobuf Deserializer-project en selecteer in het menu NuGet-pakketten beheren. Installeer vervolgens de NuGet-pakketten Microsoft.Azure.StreamAnalytics en Google.Protobuf.
Voeg de MessageBodyProto-klasse en de MessageBodyDeserializer-klasse toe aan uw project.
Bouw het Protobuf Deserializer-project.
Een Azure Stream Analytics-project toevoegen
Klik in Solution Explorer met de rechtermuisknop op de Protobuf Deserializer-oplossing en selecteer Nieuw project toevoegen>. Kies azure Stream Analytics-toepassing onder Azure Stream Analytics > Stream Analytics. Noem deze ProtobufCloudDeserializer en selecteer OK.
Klik met de rechtermuisknop op Verwijzingen onder het Azure Stream Analytics-project ProtobufCloudDeserializer. Onder Projecten voegt u Protobuf Deserializer toe. Deze moet automatisch voor u worden ingevuld.
Een Stream Analytics-taak configureren
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 > Resource aangepaste code opslaginstellingen Kies gegevensbron van het huidige account Aangepaste code opslaginstellingen opslagaccount < uw opslagaccount > Container aangepaste code opslaginstellingen < uw opslagcontainer > Onder Invoeren dubbelklikt u op Input.json. Gebruik de standaardconfiguraties, met uitzondering van de volgende instellingen:
Instelling Voorgestelde waarde Bron Blob Storage Bron Kies gegevensbron van het huidige account Abonnement < uw abonnement > Opslagaccount < uw opslagaccount > Container < uw opslagcontainer > Serialisatie-indeling voor gebeurtenissen Overige (Protobuf, XML, oorspronkelijk…) Bron Laden vanuit ASA-projectverwijzing of CodeBehind CSharp-assemblynaam ProtobufDeserializer.dll Klassenaam MessageBodyProto.MessageBodyDeserializer Gebeurteniscompressietype Geen Voeg de volgende query toe aan het bestand Script.asaql.
SELECT * FROM Input
Download het voorbeeld protobuf-invoerbestand. In de map Invoeren klikt u met de rechtermuisknop op Input.json en selecteert u Lokale invoer toevoegen. Dubbelklik vervolgens op local_Input.json en configureer de volgende instellingen:
Instelling Voorgestelde waarde Invoeralias Invoer Brontype Gegevensstroom Serialisatie-indeling voor gebeurtenissen Overige (Protobuf, XML, oorspronkelijk…) CSharp-assemblynaam ProtobufDeserializer.dll Klassenaam MessageBodyProto.MessageBodyDeserializer Pad van lokaal invoerbestand < het bestandspad voor het gedownloade protobuf-invoerbestand>
De Stream Analytics-taak uitvoeren
Open Script.asaql en selecteer Lokaal uitvoeren.
Bekijk de resultaten in Stream Analytics lokale uitvoeringsresultaten.
U hebt een aangepaste deserializer geïmplementeerd voor uw Stream Analytics-taak! In deze zelfstudie hebt u de aangepaste deserializer lokaal getest. Voor uw werkelijke gegevens kunt u de invoer en uitvoer op de juiste manier configureren. Verzend de taak vervolgens naar Azure vanuit Visual Studio om uw taak uit te voeren in de cloud met behulp van de aangepaste deserializer die u zojuist 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.
Klik met de rechtermuisknop op de projectnaam ProtobufCloudDeserializer en stel dit project in als opstartproject.
Voeg onderbrekingspunten in uw functie toe.
Druk op F5 om de foutopsporing te starten. Het programma stopt bij de onderbrekingspunten, zoals verwacht.
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 meer gaat gebruiken, verwijdert u alle resources die in deze zelfstudie zijn gemaakt. Daarvoor voert u de volgende stappen uit:
Selecteer in het menu aan de linkerkant in Azure Portal de optie Resourcegroepen en selecteer vervolgens de resource die u hebt gemaakt.
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: