Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Belangrijk
Door de gebruiker gedefinieerde .Net Standard-functies voor Azure Stream Analytics worden op 30 september 2024 buiten gebruik gesteld. Na die datum is het niet mogelijk om de functie te gebruiken. Overgang naar door de gebruiker gedefinieerde JavaScript-functies voor Azure Stream Analytics.
Met door de gebruiker gedefinieerde C#-functies (UDF's) die zijn gemaakt in Visual Studio, kunt u de Azure Stream Analytics-querytaal uitbreiden met uw eigen functies. U kunt bestaande code (inclusief DLL's) opnieuw gebruiken en wiskundige of complexe logica gebruiken met C#. Er zijn drie manieren om UDF's te implementeren:
- CodeBehind-bestanden in een Stream Analytics-project
 - UDF's van een lokaal C#-project
 - UDF's uit een bestaand pakket uit een opslagaccount.
 
In deze zelfstudie wordt de methode CodeBehind gebruikt om een eenvoudige C#-functie te implementeren. De UDF-functie voor Stream Analytics-taken is momenteel in preview en mag niet worden gebruikt in productieworkloads.
In deze handleiding leer je hoe je:
- Maak een door de gebruiker gedefinieerde C#-functie met behulp van CodeBehind.
 - Test uw Stream Analytics-taak lokaal.
 - Publiceer uw taak naar Azure.
 
Vereiste voorwaarden
Voordat u begint, moet u ervoor zorgen dat u aan de volgende vereisten voldoet:
- Als u geen Azure-abonnement hebt, maakt u een gratis account.
 - Installeer Stream Analytics-hulpprogramma's voor Visual Studio en de Azure-ontwikkel - of gegevensopslag- en verwerkingsworkloads .
 - Bekijk de bestaande ontwikkelhandleiding voor Stream Analytics Edge als u een IoT Edge-taak bouwt.
 
Een container maken in uw Azure Storage-account
De container die u maakt, wordt gebruikt om het gecompileerde C#-pakket op te slaan. Als u een Edge-taak maakt, wordt dit opslagaccount ook gebruikt om het pakket te implementeren op uw IoT Edge-apparaat. Gebruik een toegewezen container voor elke Stream Analytics-taak. Het hergebruik van dezelfde container voor meerdere Stream Analytics Edge-taken wordt niet ondersteund. Als u al een opslagaccount met bestaande containers hebt, kunt u deze gebruiken. Zo niet, dan moet u een nieuwe container maken.
Een Stream Analytics-project maken in Visual Studio
Start Visual Studio.
Selecteer Bestand > Nieuw > Project.
Selecteer Stream Analytics in de lijst met sjablonen aan de linkerkant en selecteer vervolgens Azure Stream Analytics Edge-toepassing of Azure Stream Analytics-toepassing.
Voer de projectnaam, locatie en oplossingsnaam in en selecteer OK.
              
            
Pad naar assemblypakket configureren
Open Visual Studio en navigeer naar Solution Explorer.
Dubbelklik op het taakconfiguratiebestand.
JobConfig.jsonVouw de User-Defined Code Configuration sectie uit en vul de configuratie met de volgende voorgestelde waarden in.
Setting Voorgestelde waarde Algemene opslaginstellingenbron Gegevensbron kiezen uit het huidige account Abonnement op algemene opslaginstellingen < uw abonnement > Globale opslaginstellingen opslagaccount < uw opslagaccount > Resource voor aangepaste codeopslaginstellingen Gegevensbron kiezen uit het huidige account Opslagaccount voor aangepaste codeopslaginstellingen < uw opslagaccount > Container voor aangepaste codeopslaginstellingen < uw opslagcontainer > 
Een C#-UDF schrijven met CodeBehind
Een CodeBehind-bestand is een C#-bestand dat is gekoppeld aan één ASA-queryscript. Visual Studio-hulpprogramma's zipt automatisch het CodeBehind-bestand en uploadt het naar uw Azure-opslagaccount na verzending. Alle klassen moeten worden gedefinieerd als openbaar en alle objecten moeten worden gedefinieerd als statisch openbaar.
Vouw in Solution ExplorerScript.asql uit om het bestand Script.asaql.cs CodeBehind te vinden.
Vervang de code door het volgende voorbeeld:
using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Text; namespace ASAEdgeUDFDemo { public class Class1 { // Public static function public static Int64 SquareFunction(Int64 a) { return a * a; } } }
De UDF implementeren
Open in Solution Explorer het bestand Script.asaql .
Vervang de bestaande query door de volgende query:
SELECT machine.temperature, udf.ASAEdgeUDFDemo_Class1_SquareFunction(try_cast(machine.temperature as bigint)) INTO Output FROM Input
Lokaal testen
Download het voorbeeldgegevensbestand van de temperatuursimulator.
Vouw in Solution Explorerinvoer uit, klik met de rechtermuisknop opInput.jsonen selecteer Lokale invoer toevoegen.
              
            Geef het pad naar het lokale invoerbestand op voor de voorbeeldgegevens die u hebt gedownload en opslaan.
              
            Klik 'Lokaal uitvoeren' in de scripteditor. Nadat de lokale uitvoering de uitvoerresultaten heeft opgeslagen, drukt u op een willekeurige toets om de resultaten in tabelindeling te zien.
              
            U kunt ook Resultatenmap openen selecteren om de onbewerkte bestanden in JSON- en CSV-indeling weer te geven.
              
            
Fouten opsporen in een UDF
U kunt lokaal fouten opsporen in uw C#-UDF op dezelfde manier als u fouten in standaard C#-code opspoort.
Voeg onderbrekingspunten toe aan uw C#-functie.
              
            Druk op F5 om foutopsporing te starten. Het programma stopt op uw onderbrekingspunten zoals verwacht.
              
            
Uw taak publiceren naar Azure
Zodra u uw query lokaal hebt getest, selecteert u Verzenden naar Azure in de scripteditor om de taak naar Azure te publiceren.
              
              
            
Uitrollen naar IoT Edge-apparaten
Als u ervoor kiest om een Stream Analytics Edge-taak te bouwen, kan deze nu worden geïmplementeerd als een IoT Edge-module. Volg de quickstart van IoT Edge om een IoT Hub te maken, een IoT Edge-apparaat te registreren en de IoT Edge-runtime op uw apparaat te installeren en te starten. Volg vervolgens de zelfstudie voor het implementeren van de taak om uw Stream Analytics-taak te implementeren als een IoT Edge-module.
Volgende stappen
In deze zelfstudie hebt u een eenvoudige door de gebruiker gedefinieerde C#-functie gemaakt met behulp van CodeBehind, uw taak gepubliceerd naar Azure en de taak geïmplementeerd op Een Azure- of IoT Edge-apparaat.
Voor meer informatie over de verschillende manieren om door de gebruiker gedefinieerde C#-functies voor Stream Analytics-taken te gebruiken, gaat u verder met dit artikel: