Zelfstudie: Deel 2: de gerouteerde berichten weergeven
Met berichtroutering kunt u telemetriegegevens verzenden van uw IoT-apparaten naar ingebouwde, met Event Hub compatibele eindpunten of aangepaste eindpunten zoals blobopslag, Service Bus-wachtrijen, Service Bus-onderwerpen en Event Hubs. Als u een aangepaste berichtroutering wilt configureren, maakt u routeringsquery’s om een route aan te passen die overeenkomt met een bepaalde regel. Zodra u deze hebt ingesteld, worden de inkomende gegevens automatisch door de IoT Hub doorgestuurd naar de eindpunten. Als een bericht niet overeen komt met een van de gedefinieerde routeringsquery's, wordt het doorgeleid naar het standaard eindpunt.
In deze tweedelige zelfstudie leert u hoe u deze aangepaste routeringsquery’s kunt instellen en gebruiken met IoT Hub. U stuurt berichten door van een IoT-apparaat naar een of meerdere eindpunten, met inbegrip van blobopslag en een Service Bus-wachtrij. Berichten in de Service Bus-wachtrij worden opgehaald door een logische app en via e-mail verzonden. Berichten waarvoor geen aangepaste berichtroutering is gedefinieerd, worden naar het standaardeindpunt gestuurd, vervolgens opgehaald door Azure Stream Analytics en weergegeven in een Power BI-visualisatie.
Als u deel 1 en 2 van deze zelfstudie wilt afronden, voert u de volgende taken uit:
Deel I: Resources maken, berichtroutering instellen
- Maak de resources: een IoT hub, een opslagaccount, een Service Bus-wachtrij en een gesimuleerd apparaat. U kunt dit doen met behulp van Azure Portal, een Azure Resource Manager-sjabloon, de Azure CLI of Azure PowerShell.
- Configureer de eindpunten en berichtroutes in IoT Hub voor het opslagaccount en de Service Bus-wachtrij.
Deel II: Berichten verzenden naar de hub, gerouteerde resultaten weergeven
- Maak een logische app die wordt geactiveerd en een e-mailbericht verzendt wanneer een bericht wordt toegevoegd aan de Service Bus-wachtrij.
- Download een app die een IoT-apparaat aanzet tot het verzenden van berichten naar de hub voor de verschillende routeringsopties en voer deze uit.
- Maak een Power BI-visualisatie voor gegevens die naar het standaardeindpunt worden verzonden.
- Bekijk de resultaten...
- .. .in de Service Bus-wachtrij en e-mailberichten.
- ...in het opslagaccount.
- ...in de Power BI-visualisatie.
Vereisten
Voor Deel 1 van deze zelfstudie:
- U hebt een abonnement op Azure nodig. Als u nog geen abonnement op Azure hebt, maak dan een gratis account aan voordat u begint.
Voor Deel 2 van deze zelfstudie:
- U moet Deel 1 van deze zelfstudie hebben afgerond en de resources nog tot uw beschikking hebben.
- Installeer Visual Studio.
- Toegang tot een Power BI-account voor het analyseren van de Stream Analytics van het standaardeindpunt. (Probeer Power BI gratis uit.)
- Een werk- of schoolaccount voor het verzenden van e-mailberichten.
- Zorg ervoor dat de poort 8883 is geopend in de firewall. In het voorbeeld in deze zelfstudie wordt het MQTT-protocol gebruikt, dat communiceert via poort 8883. Deze poort is in sommige netwerkomgevingen van bedrijven en onderwijsinstellingen mogelijk geblokkeerd. Zie Verbinding maken met IoT Hub (MQTT) voor meer informatie en manieren om dit probleem te omzeilen.
Azure Cloud Shell gebruiken
Azure host Azure Cloud Shell, een interactieve shell-omgeving die u via uw browser kunt gebruiken. U kunt Bash of PowerShell gebruiken met Cloud Shell om met Azure-services te werken. U kunt de vooraf geïnstalleerde opdrachten van Cloud Shell gebruiken om de code in dit artikel uit te voeren zonder dat u iets hoeft te installeren in uw lokale omgeving.
Om Azure Cloud Shell op te starten:
| Optie | Voorbeeld/koppeling |
|---|---|
| Selecteer Nu proberen in de rechterbovenhoek van een codeblok. Als u Uitproberen selecteert, wordt de code niet automatisch gekopieerd naar Cloud Shell. | ![]() |
| Ga naar https://shell.azure.com, of selecteer de knop Cloud Shell starten om Cloud Shell in uw browser te openen. | ![]() |
| Klik op de knop Cloud Shell in het menu in de balk rechtsboven in de Azure-portal. | ![]() |
Om de code in dit artikel in Azure Cloud Shell uit te voeren:
Start Cloud Shell.
Selecteer de knop Kopiëren op een codeblok om de code te kopiëren.
Plak de code in de Cloud Shell-sessie door CTRL+Shift+V te selecteren in Windows en Linux of door Cmd+Shift+V op macOS te selecteren.
Selecteer Invoeren om de code uit te voeren.
Notitie
In dit artikel wordt de Azure Az PowerShell-module gebruikt. Dit is de aanbevolen PowerShell-module voor interactie met Azure. Raadpleeg Azure PowerShell installeren om aan de slag te gaan met de Az PowerShell-module. Raadpleeg Azure PowerShell migreren van AzureRM naar Az om te leren hoe u naar de Azure PowerShell-module migreert.
Regels voor het routeren van de berichten
Hier volgen de regels voor de berichtroutering die zijn ingesteld in deel 1 van deze zelfstudie. U ziet dat ze werken in dit tweede deel.
| Waarde | Resultaat |
|---|---|
| niveau = 'opslag' | Schrijf naar Azure Storage. |
| niveau = 'kritiek' | Schrijf naar een Service Bus-wachtrij. Een logische app haalt het bericht op uit |
| de wachtrij en gebruikt Office 365 om het bericht te e-mailen. | |
| standaardinstelling | Geef deze gegevens weer met Power BI. |
Maak nu de resources waarnaar de berichten worden gerouteerd, voer een app uit om berichten naar de hub te verzenden en zie de routering in actie.
Een logische app maken
De Service Bus-wachtrij moet worden gebruikt voor het ontvangen van berichten die zijn aangeduid als kritiek. Installeer een logische app die wordt geactiveerd om de Service Bus-wachtrij te bewaken en een e-mailbericht te verzenden wanneer een bericht wordt toegevoegd aan de wachtrij.
Selecteer in Azure Portal de optie + Een resource maken. Plaats de logische app in het zoekvak en selecteer Enter. Selecteer Logische app in de weergegeven zoekresultaten en vervolgens Maken om door te gaan naar het deelvenster Logische app maken. Vul de velden in.
Abonnement: Selecteer uw Azure-abonnement.
Resourcegroep: selecteer Nieuwe maken onder het veld Resourcegroep. Geef ContosoResources op als naam van de resourcegroep.
Instantiedetails Type: selecteer Verbruik als het instantietype.
Geef bij Naam van logische app de naam van de logische app op. In deze zelfstudie wordt gebruikgemaakt van ContosoLogicApp.
Regio: gebruik de locatie van het dichtstbijzijnde datacenter. In deze zelfstudie wordt gebruikgemaakt van VS - west.
Log Analytics inschakelen: stel deze schakelknop in om log analytics niet in te schakelen.

Selecteer Controleren + maken. Het kan enkele minuten duren voordat de app is geïmplementeerd. Wanneer de implementatie is voltooid, wordt er een scherm weergegeven met een overzicht van de implementatie.
Ga naar de logische app. Als u nog steeds op de implementatiepagina bent, kunt u Naar resource gaan selecteren. Een andere manier om bij de logische app te komen is door Resourcegroepen te selecteren, uw resourcegroep te selecteren (in deze zelfstudie wordt Gebruikgemaakt van ContosoResources) en vervolgens de logische app te selecteren in de lijst met resources.
Schuif omlaag totdat u de bijna lege tegel met de tekst Lege logische app + ziet en selecteer deze. Het standaardtabblad op het scherm is 'Voor u'. Als dit deelvenster leeg is, selecteert u Alle om de beschikbare connectors en triggers weer te geven.
Selecteer Service Bus in de lijst met connectors.

In deze schermopname ziet u een lijst met triggers. Selecteer het bericht wanneer een bericht wordt ontvangen in een wachtrij (automatisch voltooien).

Vul in de velden op het volgende scherm de verbindingsgegevens in.
Verbindingsnaam: ContosoConnection
Selecteer de Service Bus Naamruimte. In deze zelfstudie wordt gebruikgemaakt van ContosoSBNamespace. De naam van de sleutel (RootManageSharedAccessKey) en de rechten (Listen, Manage, Send) worden opgehaald en geladen. selecteer RootManageSharedAccessKey. De knop Maken wordt gewijzigd in blauw (actief). Selecteer deze; Het scherm voor het selecteren van de wachtrij wordt weergegeven.
Vervolgens wordt u gevraagd om informatie over de wachtrij.

Wachtrijnaam: Dit veld is de naam van de wachtrij van waaruit het bericht wordt verzonden. Klik op deze vervolgkeuzelijst en selecteer de naam van de wachtrij die is ingesteld in de installatiestappen. In deze zelfstudie wordt gebruikgemaakt van contososbqueue.
Wachtrijtype: Het type wachtrij. Selecteer Main in de vervolgkeuzelijst.
Neem de standaardwaarden voor de andere velden. Selecteer Opslaan om de configuratie van de ontwerper van logische apps op te slaan.
Selecteer +Nieuwe stap. Het deelvenster Een bewerking kiezen wordt weergegeven. Selecteer Office 365 Outlook. Zoek en selecteer Een e-mail verzenden (V2) in de lijst. Meld u aan bij uw Office 365 account.
Vul de velden in die moeten worden gebruikt bij het verzenden van een e-mailbericht over het bericht in de wachtrij.

Aan: Plaats het e-mailadres waar de waarschuwing moet worden verzonden.
Onderwerp: Vul het onderwerp in voor het e-mailbericht.
Body: vul wat tekst in voor de body. Klik op Dynamische inhoud toevoegen om de velden weer te geven die u kunt kiezen uit het e-mailbericht dat u wilt opnemen. Als u er geen ziet, selecteert u Meer bekijken om meer opties weer te geven. Selecteer Inhoud om de tekst van het e-mailbericht weer te geven in het foutbericht.
Klik op Opslaan om uw wijzigingen op te slaan. Sluit de ontwerpfunctie van de logische app.
Azure Stream Analytics instellen
Als u de gegevens in een Power BI-visualisatie wilt zien, stelt u eerst een Stream Analytics-taak in om de gegevens op te halen. Houd er rekening mee dat alleen de berichten waarin het niveau****normaal is, worden verzonden naar het standaardeindpunt en door de Stream Analytics-taak voor de Power BI-visualisatie worden opgehaald.
De Stream Analytics-taak maken
Plaats de Stream Analytics-taak in Azure Portal zoekvak en selecteer Enter. Selecteer Maken om naar het scherm Stream Analytics taak te gaan en maak opnieuw om naar het scherm maken te gaan.
Voer de volgende informatie in voor de taak.
Taaknaam: de naam van de taak. De naam moet wereldwijd uniek zijn. In deze zelfstudie wordt gebruikgemaakt van contosoJob.
Abonnement: Het Azure-abonnement dat u gebruikt voor de zelfstudie.
Resourcegroep: gebruik dezelfde resourcegroep die wordt gebruikt door uw IoT Hub. In deze zelfstudie wordt gebruikgemaakt van ContosoResources.
Locatie: gebruik dezelfde locatie die u in het instellingsscript hebt gebruikt. In deze zelfstudie wordt gebruikgemaakt van VS - west.

Selecteer Maken om de taak te maken. Het implementeren van de taak kan een paar minuten duren.
Als u wilt terugkeren naar de taak, selecteert u Ga naar resource. U kunt ook Resourcegroepen selecteren. In deze zelfstudie wordt gebruikgemaakt van ContosoResources. Selecteer vervolgens de resourcegroep en selecteer vervolgens de Stream Analytics taak in de lijst met resources.
Een invoer aan de Stream Analytics-taak toevoegen
Selecteer Invoer onder Taaktopologie.
Selecteer Stroominvoer toevoegen in het deelvenster Invoer en selecteer vervolgens IoT Hub. Vul de volgende velden in op het scherm dat wordt weergegeven:
Invoeralias: in deze zelfstudie wordt gebruikgemaakt contosoinputs.
Selecteer IoT Hub selecteren in uw abonnementen en selecteer vervolgens uw abonnement in de vervolgkeuzelijst.
IoT Hub: Selecteer de IoT-hub. In deze zelfstudie wordt gebruikgemaakt van ContosoTestHub.
Consumentengroep: Selecteer de consumentengroep die is ingesteld in deel 1 van deze zelfstudie. In deze zelfstudie wordt gebruikgemaakt van contosoconsumers.
Naam van het gedeelde toegangsbeleid: Selecteer service. In de portal wordt de sleutel van het beleid voor gedeelde toegang voor u ingevuld.
Eindpunt: selecteer Berichten. (Als u Operations Monitoring selecteert, krijgt u de telemetriegegevens over de IoT Hub in plaats van de gegevens die u doorstuurt.)
Accepteer de standaardwaarden voor de rest van de velden.

Selecteer Opslaan.
Een uitvoer aan de Stream Analytics-taak toevoegen
Selecteer Uitvoer onder Taaktopologie.
Selecteer in het deelvenster Uitvoer de optie Toevoegen en selecteer vervolgens Power BI. Vul de volgende velden in op het scherm dat wordt weergegeven:
Uitvoeralias: de alias die uniek is voor de uitvoer. In deze zelfstudie wordt gebruikgemaakt van contosooutputs.
Selecteer Groepswerkruimte selecteren in uw abonnementen. Geef in Groepswerkruimte Mijn werkruimte op.
Verificatiemodus: selecteer Gebruiker-token.
Naam van de gegevensset: de naam van de gegevensset die moet worden gebruikt in Power BI. In deze zelfstudie wordt gebruikgemaakt van contosodataset.
Tabelnaam: de naam van de tabel die moet worden gebruikt in Power BI. In deze zelfstudie wordt gebruikgemaakt van contosotable.
Selecteer Autoriseren en meld u aan bij uw Power BI-account. (Aanmelden kan meer dan één keer duren).

Selecteer Opslaan.
De query van de Stream Analytics-taak configureren
Selecteer Query onder Taaktopologie.
Vervang
[YourInputAlias]door de invoeralias van de taak. In deze zelfstudie wordt gebruikgemaakt van contosoinputs.Vervang
[YourOutputAlias]door de uitvoeralias van de taak. In deze zelfstudie wordt gebruikgemaakt van contosooutputs.
Selecteer Opslaan.
Sluit het deelvenster Query. U keert terug naar de weergave van de resources in de resourcegroep. Selecteer de Stream Analytics-taak. In deze zelfstudie heet deze taak contosoJob.
De Stream Analytics-taak uitvoeren
Selecteer in de Stream Analytics-taak achtereenvolgens Start > Nu > Start. Zodra de taak kan worden gestart, wordt de taakstatus veranderd van Gestopt naar In uitvoering.
Als u het Power BI wilt instellen, hebt u gegevens nodig. Daarom stelt u Power BI in nadat u het apparaat hebt gemaakt en de apparaatsimulatietoepassing hebt uitgevoerd om enkele gegevens te genereren.
De app voor een gesimuleerd apparaat uitvoeren
In deel 1 van deze zelfstudie hebt u een apparaat ingesteld om het gebruik van een IoT-apparaat te simuleren. Als u het nog niet hebt gedownload, downloadt u deze niet de .NET-console-app die het apparaat simuleert dat apparaat-naar-cloud-berichten naar een IoT-hub stuurt, maar downloadt u het hier.
Deze toepassing verzendt berichten voor elk van de verschillende berichtrouteringsmethoden. Een map in de download bevat ook de ingevulde Azure Resource Manager-sjabloon en het parameterbestand, evenals de Azure CLI- en PowerShell-scripts.
Als u de bestanden nog niet uit de opslagplaats hebt gedownload in deel 1 van deze zelfstudie, kunt u deze nu downloaden van IoT Device Simulation. Met deze koppeling downloadt u een opslagplaats die meerdere toepassingen bevat. De oplossing die u zoekt, is iot-hub/Tutorials/Routing/IoT_SimulatedDevice.sln.
Dubbelklik op het oplossingsbestand (IoT_SimulatedDevice.sln) om de code in Visual Studio te openen en open vervolgens Program.cs. Vervang {your hub name} door de hostnaam van de IoT Hub. De indeling van de hostnaam van de IoT Hub is {iot-hub-name} .azure-devices.net. Voor deze zelfstudie is de naam van de hubhost ContosoTestHub.azure devices.net. Vervang vervolgens {your device key} door de apparaatsleutel die u eerder hebt opgeslagen bij het instellen van het gesimuleerde apparaat.
static string s_myDeviceId = "Contoso-Test-Device";
static string s_iotHubUri = "ContosoTestHub.azure-devices.net";
// This is the primary key for the device. This is in the portal.
// Find your IoT hub in the portal > IoT devices > select your device > copy the key.
static string s_deviceKey = "{your device key}";
Uitvoeren en testen
Voer de consoletoepassing uit. Wacht enkele minuten. U kunt de berichten zien die op het scherm van de console van de toepassing worden verzonden.
Deze app verzendt elke seconde een nieuw apparaat-naar-cloud-bericht naar de IoT Hub. Het bericht bevat een JSON-geserialiseerd object met een apparaat-id, temperatuur, vochtigheid en berichtniveau, die als standaardwaarde normal heeft. Hiermee wordt een willekeurig niveau critical of storage toegewezen, zodat het bericht wordt doorgestuurd naar het opslagaccount of naar de Service Bus-wachtrij (die uw logische app aanzet tot het verzenden van een e-mailbericht). De standaardwaarden normal () kunnen worden weergegeven in een BI-rapport.
Als alles juist is ingesteld, zou u op dit moment de volgende resultaten moeten zien:
U gaat e-mailberichten ontvangen over kritieke berichten.

Dit resultaat betekent het volgende.
- De routering naar de Service Bus-wachtrij werkt correct.
- De logische app die het bericht uit de Service Bus-wachtrij ophaalt, werkt correct.
- De connector van de logische app voor Outlook werkt goed.
Selecteer in Azure Portal de optie Resourcegroepen en selecteer uw resourcegroep. In deze zelfstudie wordt gebruikgemaakt van ContosoResources.
Selecteer het opslagaccount, selecteer Containers en selecteer vervolgens de container die uw resultaten opgeslagen. In deze zelfstudie wordt gebruikgemaakt van contosoresults. U zou een map moeten zien, en u kunt inzoomen via de mappen totdat u een of meer bestanden ziet. Open een van deze bestanden; ze bevatten de vermeldingen die zijn doorgestuurd naar het opslagaccount.

Dit resultaat betekent het volgende.
- De routering naar de Service Bus-wachtrij werkt correct.
Nu de toepassing nog steeds wordt uitgevoerd, stelt u de Power BI in om de berichten te zien die via het standaard-eindpunt komen.
De Power BI-visualisaties instellen
Meld u aan bij uw Power BI-account.
Selecteer Mijn werkruimte. Er wordt ten minste één gegevensset weer die is gemaakt. Als er niets is, kunt u de toepassing Gesimuleerd apparaat nog 5-10 minuten uitvoeren om meer gegevens te streamen. Nadat de werkruimte wordt weergegeven, heeft deze een gegevensset met de naam ContosoDataset. Klik met de rechtermuisknop op de drie verticale puntjes rechts van de naam van de gegevensset. Selecteer Rapport maken in de vervolgkeuzelijst.

Kijk in de sectie Visualisaties aan de rechterkant en selecteer Lijndiagram om een lijndiagram te selecteren op de BI-rapportpagina. Sleep de afbeelding zodat deze de ruimte horizontaal vult. Open nu contosoTable in de sectie Velden aan de rechterkant. Selecteer EventEnqueuedUtcTime. Deze moet over de X-as worden geplaatst. Selecteer temperatuur en sleep deze naar het veld Waarden voor temperatuur. Hiermee wordt de temperatuur aan de grafiek toegevoegd. U moet iets hebben dat lijkt op de volgende afbeelding:

Klik in de onderste helft van het grafiekgebied. Selecteer opnieuw Lijndiagram. Er wordt een grafiek gemaakt onder het eerste diagram.
Selecteer EventQueuedTime in de tabel en plaats deze in het veld As. Sleep vochtigheid naar het veld Waarden. Nu ziet u beide grafieken.

U hebt berichten van het standaard-eindpunt van de IoT Hub verzonden naar Azure Stream Analytics. Vervolgens hebt u een Power BI om de gegevens weer te geven, en twee grafieken toegevoegd om de temperatuur en vochtigheid weer te geven.
Selecteer Bestand > Opslaan om het rapport op te slaan en een naam voor het rapport in te geven wanneer u hier om wordt gevraagd. Sla uw rapport op in uw werkruimte.
U kunt gegevens in beide grafieken zien. Dit resultaat betekent het volgende:
- De routering naar het standaardeindpunt werkt correct.
- De Azure Stream Analytics-taak stroomt correct.
- De Power BI-visualisatie is juist ingesteld.
U kunt de diagrammen vernieuwen om de meest recente gegevens te bekijken door de knop Vernieuwen bovenaan het Power BI-venster te selecteren.
Resources opschonen
Als u alle Azure-resources die u in de twee delen van deze zelfstudie hebt gemaakt, wilt verwijderen, verwijdert u de resourcegroep. Hiermee verwijdert u ook alle resources in de groep. In dit geval worden de IoT Hub, de Service Bus-naamruimte en -wachtrij, de logische app, het opslagaccount en de resourcegroep zelf verwijderd. U kunt ook de Power BI-resources verwijderen en de e-mailberichten wissen die tijdens de zelfstudie zijn verzonden.
Resources in de Power BI-visualisatie opschonen
Meld u aan bij uw Power BI-account. Ga naar uw werkruimte. In deze zelfstudie wordt gebruikgemaakt van Mijn werkruimte. Als u de Power BI-visualisatie wilt verwijderen, gaat u naar Gegevenssets en selecteert u het prullenbakpictogram om de gegevensset te verwijderen. In deze zelfstudie wordt gebruikgemaakt van contosodataset. Wanneer u de gegevensset verwijdert, wordt het rapport ook verwijderd.
Resources opschonen met de Azure-CLI
U kunt de resourcegroep verwijderen met de opdracht az group delete. $resourceGroup is aan het begin van deze zelfstudie ingesteld op ContosoResources.
az group delete --name $resourceGroup
Resources opschonen met PowerShell
U kunt de resourcegroep verwijderen met de opdracht Remove-AzResourceGroup. $resourceGroup is aan het begin van deze zelfstudie ingesteld op ContosoResources.
Remove-AzResourceGroup -Name $resourceGroup
Test-e-mailberichten opschonen
Wellicht wilt u de e-mailberichten die via de logische app in uw postvak in zijn gegenereerd terwijl de apparaattoepassing werd uitgevoerd, verwijderen.
Volgende stappen
In deze tweedelige zelfstudie hebt u geleerd hoe u berichtroutering kunt gebruiken om berichten IoT Hub verschillende bestemmingen te routeren door de volgende taken uit te voeren.
Deel I: Resources maken, berichtroutering instellen
- Maak de resources: een IoT-hub, een opslagaccount, Service Bus wachtrij en een gesimuleerd apparaat.
- Configureer de eindpunten en berichtroutes in IoT Hub voor het opslagaccount en de Service Bus-wachtrij.
Deel II: Berichten verzenden naar de hub, gerouteerde resultaten weergeven
Maak een logische app die wordt geactiveerd en een e-mailbericht verzendt wanneer een bericht wordt toegevoegd aan de Service Bus-wachtrij.
Download een app die een IoT-apparaat aanzet tot het verzenden van berichten naar de hub voor de verschillende routeringsopties en voer deze uit.
Maak een Power BI-visualisatie voor gegevens die naar het standaardeindpunt worden verzonden.
Bekijk de resultaten...
.. .in de Service Bus-wachtrij en e-mailberichten.
...in het opslagaccount.
...in de Power BI-visualisatie.
Ga door naar de volgende zelfstudie voor informatie over het beheren van de toestand van een IoT-apparaat.


