Zelfstudie: E-mailmeldingen over gebeurtenissen van Azure IoT Hub verzenden met Event Grid en Logic Apps
Azure Event Grid maakt het mogelijk om te reageren op gebeurtenissen in IoT Hub door acties in zakelijke toepassingen verderop in de werkstroom te activeren.
In dit artikel wordt u stapsgewijs begeleid bij het maken van een voorbeeldconfiguratie waarin IoT Hub en Event Grid worden gebruikt. Aan het einde van het artikel beschikt u over een logische Azure-app die een e-mailmelding verstuurt zodra er een apparaat verbinding maakt met uw IoT-hub of deze verbinding wordt verbroken. Event Grid kan worden gebruikt om tijdig meldingen te ontvangen over kritieke apparaten die de verbinding verbreken. Het kan enkele minuten (dat wil zeggen 20 of meer, maar we willen niet er geen waarde aan hangen) duren voordat metrische gegevens en diagnostische worden weergegeven in logboeken/waarschuwingen. Dat is mogelijk onaanvaardbaar voor kritieke infrastructuur.
Als u geen Azure-abonnement hebt, maakt u een gratis account voordat u begint.
Vereisten
- Een e-mailaccount van een e-mailprovider die door Azure Logic Apps wordt ondersteund, bijvoorbeeld Office 365 Outlook of Outlook.com. Dit e-mailaccount wordt gebruikt voor het verzenden van de gebeurtenismeldingen.
Gebruik de bash-omgeving in Azure Cloud shell.
Installeer de Azure CLI, indien gewenst, om CLI-referentieopdrachten uit te voeren.
Als u een lokale installatie gebruikt, meldt u zich aan bij Azure CLI met behulp van de opdracht AZ login. Volg de stappen die worden weergegeven in de terminal, om het verificatieproces te voltooien. Raadpleeg Aanmelden bij de Azure CLI voor aanvullende aanmeldingsopties.
Installeer de Azure CLI-extensie bij het eerste gebruik, wanneer u hierom wordt gevraagd. Raadpleeg Extensies gebruiken met Azure CLI voor meer informatie over extensies.
Voer az version uit om de geïnstalleerde versie en afhankelijke bibliotheken te vinden. Voer az upgrade uit om te upgraden naar de nieuwste versie.
Een IoT-hub maken
U kunt snel een nieuwe IoT-hub maken met behulp van de Azure Cloud Shell-terminal in de portal.
Meld u aan bij de Azure-portal.
Klik in de rechterbovenhoek van de pagina en selecteer de knop Cloud Shell.

Voer de volgende opdracht uit om een nieuwe resourcegroep te maken:
az group create --name {your resource group name} --location westusVoer de volgende opdracht uit om een IoT-hub te maken:
az iot hub create --name {your iot hub name} --resource-group {your resource group name} --sku S1Minimaliseer de Cloud Shell-terminal. Verderop in de zelfstudie gaat u terug naar de shell.
Een logische app maken
Maak vervolgens een logische app en voeg een HTTP Event grid-trigger toe waarmee aanvragen van de IoT-hub worden verwerkt.
Een logische app maken
Selecteer in de Azure Portal Een resource maken, typ ' logische app ' in het zoekvak en selecteer Enter. Selecteer Logische app in de resultaten.

Selecteer Maken in het volgende scherm.
Geef een naam op voor de logische app die uniek is in uw abonnement en selecteer vervolgens het abonnement, de resourcegroep en de locatie van uw IoT-hub.

Selecteer Controleren + maken.
Controleer de instellingen en selecteer vervolgens Maken.
Selecteer Ga naar resource zodra de resource is gemaakt.
Blader omlaag in de Ontwerper van logische apps naar Sjablonen. Kies Lege logische app, zodat u de logische app helemaal zelf kunt ontwerpen.
Een trigger selecteren
Een trigger is een specifieke gebeurtenis waarmee uw logische app wordt gestart. Voor deze zelfstudie is de trigger voor het activeren van de werkstroom het ontvangen van een aanvraag via HTTP.
Typ HTTP in de zoekbalk voor connectors en triggers.
Scroll door de resultaten en selecteer Aanvraag - Wanneer een HTTP-aanvraag is ontvangen als de trigger.

Selecteer Voorbeeldnettolading om een schema te genereren.

Plak de JSON-code Apparaat verbonden-gebeurtenisschema in het tekstvak en selecteer vervolgens Gereed:
[{ "id": "f6bbf8f4-d365-520d-a878-17bf7238abd8", "topic": "/SUBSCRIPTIONS/<subscription ID>/RESOURCEGROUPS/<resource group name>/PROVIDERS/MICROSOFT.DEVICES/IOTHUBS/<hub name>", "subject": "devices/LogicAppTestDevice", "eventType": "Microsoft.Devices.DeviceConnected", "eventTime": "2018-06-02T19:17:44.4383997Z", "data": { "deviceConnectionStateEventInfo": { "sequenceNumber": "000000000000000001D4132452F67CE200000002000000000000000000000001" }, "hubName": "egtesthub1", "deviceId": "LogicAppTestDevice", "moduleId" : "DeviceModuleID" }, "dataVersion": "1", "metadataVersion": "1" }]Deze gebeurtenis wordt gepubliceerd wanneer een apparaat is verbonden met een IoT-hub.
Notitie
Er kan een melding worden weergegeven dat u niet moet vergeten in uw aanvraag een header Content-type op te nemen die is ingesteld op application/json. U kunt deze suggestie zonder problemen negeren en verdergaan met de volgende sectie.
Een actie maken
Acties zijn stappen die worden uitgevoerd nadat de trigger de werkstroom van de logische app heeft gestart. Voor deze zelfstudie is de actie het verzenden van een e-mailmelding via uw e-mailprovider.
Selecteer Nieuwe stap. Kies een actie in het venster dat wordt geopend.
Zoek naar Outlook.
Zoek en selecteer de bijbehorende connector op basis van uw e-mailprovider. In deze zelfstudie wordt Outlook.com gebruikt. De stappen voor andere e-mailproviders zijn vergelijkbaar.

Selecteer de actie Een e-mail verzenden (V2) .
Selecteer Aanmelden en meld u aan bij uw e-mailaccount. Selecteer Ja om de app toegang te geven tot uw gegevens.
Bouw uw e-mailsjabloon.
Aan: Voer het e-mailadres in om de e-mailmelding te ontvangen. Voor deze zelfstudie gebruikt u een e-mailaccount dat u kunt gebruiken voor het testen.
Onderwerp: Vul de tekst voor het onderwerp in. Wanneer u op het tekstvak Onderwerp klikt, kunt u dynamische inhoud selecteren die u wilt toevoegen. In deze zelfstudie wordt bijvoorbeeld
IoT Hub alert: {eventType}gebruikt. Als u geen dynamische inhoud kunt zien, selecteert u de hyperlink Dynamische inhoud toevoegen, waarmee u deze optie in- en uitschakelt.Hoofdtekst: Typ hier het onderwerp en de tekst voor uw e-mail. Selecteer JSON-eigenschappen in het selectiehulpmiddel om dynamische inhoud op te nemen op basis van gegevens van gebeurtenissen. Als u de dynamische inhoud niet kunt zien, selecteert u de hyperlink Dynamische inhoud toevoegen onder het tekstvak Hoofdtekst. Als de velden die u wilt gebruiken niet worden weergegeven, klikt u op Meer in het scherm Dynamische inhoud om de velden van de vorige actie op te nemen.
Uw e-mailsjabloon ziet er nu misschien uit als in dit voorbeeld:

Kies Ja in de Logic Apps Designer.
HTTP-URL kopiëren
Voordat u de functie Ontwerper van logische apps verlaat, kopieert u de URL waarnaar uw logische app luistert voor een trigger. U gebruikt deze URL voor het configureren van Event Grid.
Vouw het configuratievak Wanneer een HTTP-aanvraag is ontvangen uit door erop te klikken.
Kopieer de waarde van URL voor HTTP POST door de knop URL kopiëren ernaast te selecteren.

Sla deze URL op zodat u ernaar kunt verwijzen in de volgende sectie.
Abonnement voor IoT Hub-gebeurtenissen configureren
In deze sectie configureert u de IoT-hub voor het publiceren van gebeurtenissen op het moment dat deze optreden.
Ga in Azure Portal naar uw IoT-hub. U kunt dit doen door Resourcegroepen te selecteren en vervolgens de resourcegroep voor deze zelfstudie te selecteren. Selecteer vervolgens uw IoT-hub in de lijst met resources.
Selecteer Gebeurtenissen.

Selecteer Gebeurtenisabonnement.

Maak het gebeurtenisabonnement met de volgende waarden:
Ga als volgt te werk in de sectie GEBEURTENISABONNEMENTDETAILS:
- Geef een naam op voor het gebeurtenisabonnement.
- Selecteer Gebeurtenisrasterschema voor Gebeurtenisschema.
Ga als volgt te werk in de sectie ONDERWERPDETAILS:
- Controleer of het Type onderwerp is ingesteld op IoT Hub.
- Controleer of de naam van de IoT-hub is ingesteld als de waarde voor het veld Bronresource.
- Voer een naam in voor het systeemonderwerp dat voor u wordt gemaakt. Zie Overzicht van systeemonderwerpen voor meer informatie over systeemonderwerpen.
Ga als volgt te werk in de sectie GEBEURTENISTYPEN:
Selecteer de vervolgkeuzelijst Filteren op gebeurtenistypen.
Schakel de selectievakjes voor Apparaat gemaakt en Apparaat verwijderd uit, zodat alleen de selectievakjes Apparaat verbonden en Verbinding met apparaat verbroken zijn geselecteerd.

Ga als volgt te werk in de sectie EINDPUNTDETAILS:
- Selecteer Eindpunttype als Webhook.
- Klik op Eindpunt selecteren, plak de URL die u hebt gekopieerd vanuit uw logische app en bevestig uw selectie.

Als u klaar bent, moet het deelvenster er als volgt uitzien:

Selecteer Maken.
Een nieuw apparaat simuleren voor het verbinden en verzenden van telemetrie
Test uw logische app door snel een apparaatverbinding te simuleren met de Azure CLI.
Selecteer de knop Cloud Shell om de terminal opnieuw te openen.
Voer de volgende opdracht uit om een identiteit van een gesimuleerd apparaat te maken:
az iot hub device-identity create --device-id simDevice --hub-name {YourIoTHubName}Voer de volgende opdracht uit om het verbinden van uw apparaat met IoT Hub en het verzenden van telemetrie te simuleren:
az iot device simulate -d simDevice -n {YourIoTHubName}Wanneer het gesimuleerde apparaat verbinding maakt met IoT Hub, ontvangt u een e-mailbericht met de melding 'DeviceConnected'.
Wanneer de simulatie is voltooid, ontvangt u een e-mailbericht met de melding 'DeviceDisconnected'.

Resources opschonen
In deze zelfstudie zijn resources gebruikt die kosten voor uw Azure-abonnement met zich meebrengen. Wanneer u klaar bent met de zelfstudie en het testen van de resultaten, moet u daarom de resources uitschakelen of verwijderen die u niet wilt behouden.
Als u alle resources wilt verwijderen die u in deze zelfstudie hebt gemaakt, verwijdert u de resourcegroep.
Selecteer Resourcegroepen en selecteer vervolgens de resourcegroep die u hebt gemaakt voor deze zelfstudie.
Selecteer Resourcegroep verwijderen op het deelvenster Resourcegroep. U wordt gevraagd de naam van de resourcegroep op te geven, waarna u deze kunt verwijderen. Alle resources in de resourcegroep worden ook verwijderd.
Volgende stappen
- Ga voor meer informatie naar Reageren op gebeurtenissen van IoT Hub door met behulp van Event Grid acties te triggeren - Preview.
- Informatie over het rangschikken van gebeurtenissen ‘apparaat verbonden’ en ‘verbinding met apparaat verbroken’.
- Lees hier meer over wat u kunt doen met Event Grid.
Zie voor een volledige lijst met ondersteunde logische app-connectors de
