Delen via


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. Metrische gegevens en diagnostische gegevens kunnen enkele minuten (zoals 20 minuten of meer) duren om weer te geven in logboeken/waarschuwingen. Langere verwerkingstijden kunnen onaanvaardbaar zijn voor kritieke infrastructuur.

Als u geen Azure-abonnement hebt, kunt u een gratis Azure-account maken 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.

Een IoT Hub maken

U kunt snel een nieuwe IoT-hub maken met behulp van de Azure Cloud Shell-terminal in de portal.

  1. Meld u aan bij het Azure-portaal.

  2. Klik in de rechterbovenhoek van de pagina en selecteer de knop Cloud Shell.

    Schermopname van het openen van Azure Cloud Shell vanuit Azure Portal.

  3. Voer de volgende opdracht uit om een nieuwe resourcegroep te maken:

    az group create --name {your resource group name} --location westus
    
  4. Voer 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 S1 
    
  5. Minimaliseer de Cloud Shell-terminal. U keert later in de zelfstudie terug naar de shell.

Een logische app maken

Maak vervolgens een logische app en voeg een HTTP Event Grid-trigger toe waarmee aanvragen van IoT Hub worden verwerkt.

Een logische app maken

  1. Selecteer in de Azure Portal Een resource maken, typ ' logische app ' in het zoekvak en selecteer Enter. Selecteer Logische app in de resultaten.

    Schermopname van het selecteren van de logische app in een lijst met resources.

  2. Selecteer Maken in het volgende scherm.

  3. Geef uw logische app een unieke naam in uw abonnement en selecteer vervolgens hetzelfde abonnement, dezelfde resourcegroep en locatie als uw IoT-hub. Kies het type verbruiksabonnement .

    Schermopname van het configureren van uw logische app.

  4. Selecteer Controleren + maken.

  5. Controleer de instellingen en selecteer vervolgens Maken.

  6. Selecteer Ga naar resource zodra de resource is gemaakt.

  7. Blader omlaag in de Ontwerper van logische apps naar Sjablonen. Kies Lege logische app, zodat u de logische app helemaal zelf kunt ontwerpen.

    Schermopname van de Logic App Designer-sjablonen.

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.

  1. Typ HTTP in de zoekbalk voor connectors en triggers.

  2. Scroll door de resultaten en selecteer Aanvraag - Wanneer een HTTP-aanvraag is ontvangen als de trigger.

    Selecteer de trigger Aanvraag - Wanneer een HTTP-aanvraag is ontvangen

  3. Selecteer Voorbeeldnettolading gebruiken om een schema te genereren.

    Voorbeeldbelasting gebruiken

  4. Kopieer de json onderstaande waarden en vervang de waarden <> van de tijdelijke aanduiding door uw eigen waarden.

  5. Plak de JSON-code Apparaat verbonden-gebeurtenisschema in het tekstvak en selecteer vervolgens Gereed:

      [{  
       "id": "f6bbf8f4-d365-520d-a878-17bf7238abd8",
       "topic": "/SUBSCRIPTIONS/<azure 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": "<hub name>",
         "deviceId": "LogicAppTestDevice",
         "moduleId" : "DeviceModuleID"
       }, 
       "dataVersion": "1",
       "metadataVersion": "1"
     }]
    

    Belangrijk

    Plak het JSON-fragment in het vak van de nettolading Voorbeeld gebruiken om een schemakoppeling te genereren en niet rechtstreeks in het vak JSON-schema voor aanvraagbody. De koppeling naar de nettolading van het voorbeeld biedt een manier om de JSON-inhoud te genereren op basis van het JSON-fragment. De uiteindelijke JSON die in de aanvraagbody terechtkomt, verschilt van het JSON-fragment.

    Deze gebeurtenis wordt gepubliceerd wanneer een apparaat is verbonden met een IoT-hub.

Notitie

Mogelijk ontvangt u een pop-upmelding met de mededeling: Vergeet niet om een Content-Type-header op te nemen die is ingesteld op application/json in uw aanvraag. U kunt deze suggestie veilig 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.

  1. Selecteer Nieuwe stap. Er wordt een venster weergegeven waarin u wordt gevraagd een actie te kiezen.

  2. Zoek naar Outlook.

  3. 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. U kunt ook Office 365 Outlook gebruiken om de aanmeldingsstap over te slaan.

    Connector voor e-mailprovider selecteren

  4. Selecteer de actie Een e-mail verzenden (V2).

  5. Selecteer Aanmelden en meld u aan bij uw e-mailaccount. Selecteer Ja om de app toegang te geven tot uw gegevens.

  6. Bouw uw e-mailsjabloon.

    • Aan: voer het e-mailadres in waarop u de e-mailmeldingen wilt 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 dynamische inhoud niet ziet, selecteert u de hyperlink Dynamische inhoud toevoegen om de dynamische inhoudsweergave in of uit te schakelen.

    Nadat u hebt eventTypegeselecteerd, ziet u de uitvoer van het e-mailformulier tot nu toe. Selecteer het bericht Verzenden en e-mail (V2) om de hoofdtekst van uw e-mail te bewerken.

    Schermopname van het verkorte uitvoerformulier voor de hoofdtekst.

    • Hoofdtekst: Schrijf de tekst voor uw e-mail. Selecteer de JSON-eigenschappen van het selector-hulpprogramma om dynamische inhoud op basis van gebeurtenisgegevens toe te voegen. Als u geen dynamische inhoud kunt zien, selecteert u de hyperlink Dynamische inhoud toevoegen onder het tekstvak Hoofdtekst. Als de velden die u wilt gebruiken niet worden weer gegeven, klikt u op Meer in het scherm Dynamische inhoud om de velden van de vorige actie toe te voegen.

    Uw e-mailsjabloon ziet er nu misschien uit als in dit voorbeeld:

    Schermopname van het maken van een gebeurtenis-e-mail in de sjabloon.

  7. Kies Ja in de Logic Apps Designer.

HTTP-URL kopiëren

Voordat u logic apps Designer verlaat, kopieert u de URL waarnaar uw logische app luistert voor een trigger. U gebruikt deze URL voor het configureren van Event Grid.

  1. Vouw het configuratievak Wanneer een HTTP-aanvraag is ontvangen uit door erop te klikken.

  2. Kopieer de waarde van URL voor HTTP POST door de knop URL kopiëren ernaast te selecteren.

    De URL voor HTTP POST kopiëren

  3. 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.

  1. Ga in Azure Portal naar uw IoT-hub. U kunt uw IoT-hub vinden door IoT Hub te selecteren in uw Azure-dashboard en vervolgens uw IoT Hub-exemplaar te selecteren in de lijst met resources.

  2. Selecteer Gebeurtenissen.

    Details van gebeurtenisraster weergeven

  3. Selecteer Gebeurtenisabonnement.

    Nieuw gebeurtenisabonnement maken

  4. Maak het gebeurtenisabonnement met de volgende waarden:

    1. Ga als volgt te werk in de sectie GEBEURTENISABONNEMENTDETAILS:

      1. Geef een naam op voor het gebeurtenisabonnement.
      2. Selecteer Gebeurtenisrasterschema voor Gebeurtenisschema.
    2. Ga als volgt te werk in de sectie ONDERWERPDETAILS:

      1. Controleer of het Type onderwerp is ingesteld op IoT Hub.
      2. Controleer of de naam van de IoT-hub is ingesteld als de waarde voor het veld Bronresource.
      3. Voer een naam in voor het systeemonderwerp dat voor u wordt gemaakt. Zie Overzicht van systeemonderwerpen voor meer informatie over systeemonderwerpen.
    3. Ga als volgt te werk in de sectie GEBEURTENISTYPEN:

      1. Selecteer de vervolgkeuzelijst Filteren op gebeurtenistypen.

      2. Schakel de selectievakjes voor Apparaat gemaakt en Apparaat verwijderd uit, zodat alleen de selectievakjes Apparaat verbonden en Verbinding met apparaat verbroken zijn geselecteerd.

        abonnementgebeurtenistypen selecteren

    4. Ga als volgt te werk in de sectie EINDPUNTDETAILS:

      1. Selecteer Eindpunttype als Webhook.
      2. Klik op Eindpunt selecteren, plak de URL die u hebt gekopieerd vanuit uw logische app en bevestig uw selectie.

      eindpunt-URL selecteren

      Wanneer u klaar bent, ziet het deelvenster eruit als in het volgende voorbeeld:

      Schermopname van de pagina Gebeurtenisabonnement maken in Azure Portal.

  5. 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.

  1. Selecteer de knop Cloud Shell om uw terminal opnieuw te openen.

  2. 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}
    

    De verwerking kan een minuut duren. U ziet een JSON-afdruk in uw console zodra deze is gemaakt.

  3. 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}
    
  4. Wanneer het gesimuleerde apparaat verbinding maakt met IoT Hub, ontvangt u een e-mail met de melding 'DeviceConnected'.

  5. Wanneer de simulatie is voltooid, ontvangt u een e-mail met de melding 'DeviceDisconnected'.

    Schermopname van het e-mailbericht dat u moet ontvangen.

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.

  1. Selecteer Resourcegroepen en selecteer vervolgens de resourcegroep die u hebt gemaakt voor deze zelfstudie.

  2. Selecteer Resourcegroep verwijderen op het deelvenster Resourcegroep. U wordt gevraagd de naam van de resourcegroep in te voeren en vervolgens kunt u deze verwijderen. Alle resources in de resourcegroep worden ook verwijderd.

Volgende stappen

Zie voor een volledige lijst met ondersteunde logic App-connector s de

Overzicht van connectors.