Ontwikkel Stream Analytics Edge-taken met Visual Studio-tools

In dit artikel leer je hoe je Stream Analytics-tools voor Visual Studio gebruikt om Stream Analytics Edge-taken te schrijven, te debuggen en te creëren. Nadat je de taak hebt aangemaakt en getest, ga je naar het Azure-portaal om het op je apparaten te implementeren.

Vereisten voor het ontwikkelen van Edge-jobs

Je hebt de volgende vereisten nodig om de stappen in dit artikel te voltooien:

  1. Installeer Visual Studio 2019, Visual Studio 2015, of Visual Studio 2013 Update 4. Stream Analytics-tools ondersteunen de Enterprise (Ultimate/Premium), Professional en Community-edities, maar niet de Express-editie.

  2. Volg de installatie-instructies voor het installeren van Stream Analytics-hulpprogramma's voor Visual Studio.

Maak een Stream Analytics Edge-project aan

Maak het Edge-project dat je functiedefinitie bevat.

  1. Kies in Visual Studio File>New>Project. Ga naar de lijst met sjablonen aan de linkerkant en wijd vervolgens Azure Stream Analytics>Stream Analytics EdgeAzure>Stream Analytics Edge Application. Voer een naam, locatie en oplossingsnaam in voor je project en selecteer dan OK.

    Screenshot van het New Project-dialoogvenster voor het maken van een Azure Stream Analytics Edge-applicatie in Visual Studio.

  2. Nadat Visual Studio het project heeft aangemaakt, ga je naar Solution Explorer om de mappenhiërarchie te bekijken.

    Screenshot van Solution Explorer die de mappenhiërarchie van een Stream Analytics Edge-project in Visual Studio toont.

Kies het juiste abonnement

Verbind Visual Studio met het Azure-abonnement waar je de taak wilt aanmaken.

  1. Selecteer in het menu View van Visual Studio de optie Server Explorer.

  2. Selecteer en houd Azure ingedrukt (of klik met de rechtermuisknop aan), selecteer Verbinden met Microsoft Azure abonnement en log vervolgens in met je Azure-account.

Invoer definiëren

Configureer de Edge Hub-invoer waaruit de taak streaming-events leest.

  1. Vanuit de Solution Explorer vergroot je de Inputs-node. Je ziet een invoer genaamd EdgeInput.json. Open hem om de instellingen te bekijken.

  2. Stel het brontype in op datastroom. Zet vervolgens Source op Edge Hub, Event Serialization Format op Json, en codering op UTF8. Optioneel kunt u de invoeralias hernoemen, maar deze voor dit voorbeeld laten zoals ze zijn. Als je de invoeralias hernoemt, gebruik dan de naam die je opgeeft bij het definiëren van de query. Selecteer Opslaan om de instellingen op te slaan. Screenshot van de configuratie-instellingen van de Stream Analytics Edge Hub-invoer in Visual Studio.

Uitvoer definiëren

Configureer de Edge Hub-uitvoer waar de taak resultaten naartoe schrijft.

  1. Vanuit de Solution Explorer breid je de Outputs-node uit. Je ziet een output genaamd EdgeOutput.json. Open hem om de instellingen te bekijken.

  2. Stel Sink in op Edge Hub, stel Event Serialization Format in op Json, zet Encoding op UTF8 en Format op Array. Optioneel kunt u de Output Alias hernoemen, maar laten deze zoals die is voor dit voorbeeld. Als je de uitvoeralias hernoemt, gebruik dan de naam die je opgeeft bij het definiëren van de query. Selecteer Opslaan om de instellingen op te slaan. Screenshot van de uitvoerconfiguratie-instellingen van de Edge Hub Stream Analytics in Visual Studio.

Bekijk niet-ondersteunde operaties

Stream Analytics-functies die worden ingezet in de Stream Analytics IoT Edge-omgevingen ondersteunen het grootste deel van de Stream Analytics Query Language-referentie. De volgende bewerkingen worden echter niet ondersteund voor Stream Analytics Edge-jobs:

  1. PARTITIONEREN PER
  2. Tijdstempel door OVER
  3. JavaScript UDF
  4. Door de gebruiker gedefinieerde aggregaten (UDA)
  5. GetMetadataPropertyValue
  6. Meer dan 14 aggregaten in één stap gebruiken

Wanneer je een Stream Analytics Edge-job aanmaakt in het portaal, waarschuwt de compiler je automatisch als je geen ondersteunde operator gebruikt.

De transformatiequery definiëren

Definieer vanuit Visual Studio de volgende transformatiequery in de query-editor (het script.asaql bestand).

SELECT * INTO EdgeOutput
FROM EdgeInput 

Test de baan lokaal

Om de query lokaal te testen, upload je de voorbeeldgegevens. Om voorbeeldgegevens te krijgen, download je de registratiegegevens uit de GitHub-repository en sla je deze op je lokale computer.

  1. Om voorbeeldgegevens te uploaden, selecteer en houd je hetEdgeInput.jsonbestand ingedrukt (of klik met de rechtermuisknop op het bestand ), en selecteer je vervolgens Lokale Invoer toevoegen.

  2. Blader in het pop-upvenster door de voorbeeldgegevens vanaf je lokale pad en selecteer Opslaan.

    Screenshot van de lokale invoerconfiguratie voor het uploaden van voorbeeldgegevens in Visual Studio.

  3. Visual Studio voegt automatisch een bestand genaamd local_EdgeInput.json toe aan je invoermap.

  4. Je kunt het lokaal uitvoeren of naar Azure sturen. Om de query te testen, selecteer Lokaal uitvoeren.

    Schermafbeelding van de uitvoeropties van de Stream Analytics-taak waarop 'Lokaal uitvoeren' in Visual Studio wordt weergegeven.

  5. Het opdrachtpromptvenster toont de status van de taak. Wanneer de taak succesvol draait, wordt er een map aangemaakt die eruitziet als 2018-02-23-11-31-42 in het pad Visual Studio 2015\Projects\MyASAEdgejob\MyASAEdgejob\ASALocalRun\2018-02-23-11-31-42van je projectmap . Ga naar het mappad om de resultaten in de lokale map te bekijken.

    Je kunt ook inloggen op het Azure-portaal en controleren of de job is aangemaakt.

    Schermafbeelding van de resultaatmap van de Stream Analytics-taak met de uitvoer van een lokale uitvoering in Visual Studio.

Dien de opdracht in bij Azure

Nadat je de query hebt getest, publiceer je de taak op je Azure-abonnement.

  1. Voordat je de opdracht naar Azure stuurt, maak je verbinding met je Azure-abonnement. Open Server Explorer, selecteer en houd (of klik met de rechtermuisknop aan) Azure, selecteer Connect to Microsoft Azure-abonnement, en log vervolgens in bij je Azure-abonnement.

  2. Om de taak in te dienen bij Azure, ga je naar de query-editor en selecteer je Verzenden naar Azure.

  3. Er wordt een pop-upvenster geopend. Kies ervoor om een bestaande Stream Analytics Edge-taak bij te werken of een nieuwe aan te maken. Wanneer je een bestaande taak bijwerkt, wordt alle jobconfiguratie vervangen. In dit scenario publiceer je een nieuwe vacature. Selecteer Create a New Azure Stream Analytics Job, voer een naam in voor je job zoals MyASAEdgeJob, kies het vereiste abonnement, resourcegroep en locatie, en selecteer vervolgens Submit.

    Screenshot van het dialoogvenster om een Stream Analytics Edge-taak naar Azure te sturen vanuit Visual Studio.

    Je hebt nu een baan bij Stream Analytics Edge. Om te leren hoe je het op je apparaten kunt implementeren, zie Run jobs op IoT Edge.

Beheer de taak

Beheer de taakstatus en het taakdiagram vanuit Server Explorer.

  1. Vanuit Stream Analytics in Server Explorer breid je het abonnement uit en de resourcegroep waar je de Stream Analytics Edge-taak hebt geïmplementeerd. Je ziet MyASAEdgejob met de status Aangemaakt. Vouw je taakknoop uit en open die vervolgens om de taak te bekijken.

    Screenshot van Server Explorer die jobbeheeropties toont voor een Stream Analytics Edge-job.

  2. In het jobweergavevenster kun je de taak verversen, verwijderen en openen in het Azure-portaal.

    Screenshot van het taakweergavevenster dat het taakdiagram en andere opties in Visual Studio toont.