Oktatóanyag: Azure IoT Hub-eseményekkel kapcsolatos e-mail-értesítések küldése az Event Grid és a Logic Apps használatával

Az Azure Event Griddel reagálhat az IoT Hub eseményeire a folyamatok későbbi szakaszában használt üzleti alkalmazásokban kiváltott műveletekkel.

Ez a cikk az IoT Hubot és az Event Gridet használó mintakonfigurációt ismerteti. A végén be van állítva egy Azure-logikai alkalmazás, amely értesítést küld e-mailben minden alkalommal, amikor egy eszköz csatlakozik vagy leválasztja az IoT Hubot. Az Event Grid segítségével időben értesítést kaphat a kritikus eszközök leválasztásáról. A metrikák és a diagnosztika több percig is eltarthat (például 20 perc vagy több) a naplókban/ riasztásokban való megjelenítéshez. A hosszabb feldolgozási idő elfogadhatatlan lehet a kritikus infrastruktúra esetében.

If you don't have an Azure subscription, create an Azure free account before you begin.

Előfeltételek

  • E-mail-fiók bármely olyan e-mail-szolgáltatótól, amelyet az Azure Logic Apps támogat, például az Office 365 Outlook vagy Outlook.com. Ez az e-mail-fiók küldi majd az eseményértesítéseket.

IoT Hub létrehozása

Gyorsan létrehozhat egy új IoT Hubot a portál Azure Cloud Shell-termináljának használatával.

  1. Jelentkezzen be az Azure Portalra.

  2. A lap jobb felső sarkában válassza a Cloud Shell gombot.

    Screenshot of how to open the Azure Cloud Shell from the Azure portal.

  3. Futtassa a következő parancsot új erőforráscsoport létrehozásához:

    az group create --name {your resource group name} --location westus
    
  4. Futtassa a következő parancsot egy IoT Hub létrehozásához:

    az iot hub create --name {your iot hub name} --resource-group {your resource group name} --sku S1 
    
  5. Minimalizálja a Cloud Shell-terminált. Az oktatóanyag későbbi részében visszatér a rendszerhéjhoz.

Logikai alkalmazás létrehozása

Ezután hozzon létre egy logikai alkalmazást, és adjon hozzá egy HTTP Event Grid-eseményindítót, amely feldolgozza az IoT Hubtól érkező kéréseket.

Logikai alkalmazás erőforrás létrehozása

  1. Az Azure Portalon válassza az Erőforrás létrehozása lehetőséget, majd írja be a "logikai alkalmazás" kifejezést a keresőmezőbe, és válassza a Visszatérés lehetőséget. Válassza a Logikai alkalmazás lehetőséget az eredmények közül.

    Screenshot of how to select the logic app from a list of resources.

  2. A következő képernyőn válassza a Létrehozás lehetőséget.

  3. Adjon egyedi nevet a logikai alkalmazásnak az előfizetésben, majd válassza ki ugyanazt az előfizetést, erőforráscsoportot és helyet, mint az IoT Hub. Válassza ki a Használati csomag típusát.

    Screenshot of how to configure your logic app.

  4. Select Review + create.

  5. Ellenőrizze a beállításokat, majd válassza a Létrehozás lehetőséget.

  6. Az erőforrás létrehozása után válassza az Ugrás az erőforrásra lehetőséget.

  7. A Logic Apps Tervező lapról lefelé a sablonok megtekintéséhez. Válassza az Üres logikai alkalmazás lehetőséget, hogy a logikai alkalmazást az alapoktól kezdve felépíthesse.

    Screenshot of the Logic App Designer templates.

Trigger kiválasztása

A trigger a logikai alkalmazást elindító konkrét esemény. Ebben az oktatóanyagban a munkafolyamatot aktiváló trigger HTTP-kapcsolaton keresztül fogad egy kérést.

  1. Írja be a HTTP kifejezést az összekötők és triggerek keresősávjába.

  2. Görgessen végig az eredményeken, és válassza a Kérés – HTTP-kérés fogadása eseményindítóként.

    Select HTTP request trigger

  3. Válassza a Séma létrehozása hasznosadat-minta használatával lehetőséget.

    Use sample payload

  4. Másolja ki az json alábbiakat, és cserélje le a helyőrző értékeket <> a sajátjára.

  5. Illessze be az eszközhöz csatlakoztatott eseményséma JSON-fájlját a szövegmezőbe, majd válassza a Kész elemet:

      [{  
       "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"
     }]
    

    Fontos

    Mindenképpen illessze be a JSON-kódrészletet a Minta hasznos adat használata sémahivatkozás létrehozásához, és ne közvetlenül a Kérelemtörzs JSON sémamezőjébe . A minta hasznos adathivatkozással létrehozhatja a JSON-tartalmat a JSON-kódrészlet alapján. A kérelem törzsében végződő utolsó JSON-fájl eltér a JSON-kódrészletétől.

    Ez az esemény akkor jelenik meg, ha egy eszköz IoT Hubhoz csatlakozik.

Megjegyzés:

Előfordulhat, hogy megjelenik egy előugró értesítés, amely azt jelzi, hogy ne felejtse el az alkalmazás/json tartalomtípusú fejlécet belefoglalni a kérésbe. Nyugodtan figyelmen kívül hagyhatja ezt a javaslatot, és továbbléphet a következő szakaszra.

Művelet létrehozása

A műveletek azok a lépések, azután mennek végbe, hogy a trigger elindítja a logikai alkalmazás munkafolyamatát. Ebben az oktatóanyagban a művelet egy e-mail-értesítés küldése az e-mail-szolgáltatóról.

  1. Válassza az Új lépés lehetőséget. Megjelenik egy ablak, amely a Művelet kiválasztására kéri.

  2. Keresse meg az Outlookot.

  3. Az e-mail-szolgáltató alapján keresse meg és válassza ki a megfelelő összekötőt. Ez az oktatóanyag Outlook.com használ. Az egyéb e-mail-szolgáltatókra vonatkozó lépések is hasonlók. Másik lehetőségként az Office 365 Outlook használatával kihagyhatja a bejelentkezési lépést.

    Select email provider connector

  4. Válassza az E-mail küldése (v2) műveletet.

  5. Válassza a Bejelentkezés lehetőséget, és jelentkezzen be az e-mail-fiókjába. Az Igen elemet választva az alkalmazás hozzáférhet az adataihoz.

  6. Készítse el az e-mail-sablont.

    • Címzett: Adja meg az e-mail-címet, amely az értesítő e-maileket fogadja. Ehhez az oktatóanyaghoz olyan e-mail-fiókot használjon, amelyhez hozzáfér majd a tesztelés során.

    • Tárgy: Töltse ki a tárgy szövegét. A Tárgy szövegmezőre kattintva dinamikus tartalmat is kiválaszthat és belefoglalhat. Ez az oktatóanyag például a következőt használja IoT Hub alert: {eventType}: . Ha nem látja a dinamikus tartalmat, válassza a Dinamikus tartalom hozzáadása hivatkozást a Dinamikus tartalom nézet be- vagy kikapcsolásához.

    A kiválasztás eventTypeután megjelenik az e-mail-űrlap eddigi kimenete. Válassza a Küldés és e-mail (V2) lehetőséget az e-mail törzsének szerkesztéséhez.

    Screenshot of the condensed body output form.

    • Törzs: Írja meg az e-mail szövegét. A választó eszközről választott JSON-tulajdonságokkal az esemény adataira alapuló dinamikus tartalmat illeszthet be. Ha nem látja a dinamikus tartalmat, válassza a Törzs szövegmező alatti Dinamikus tartalom hozzáadása hivatkozást. Ha itt nem a kívánt mezők jelennek meg, kattintson a Dinamikus tartalom képernyő továbbiak elemére az előző művelet mezőinek befoglalásához.

    Az e-mail-sablon a következő példához hasonló lehet:

    Screenshot of how to create an event email in the template.

  7. A Logic Apps Designerben válassza a Mentés elemet.

A HTTP URL-cím másolása

Mielőtt kilép a Logic Apps Tervező, másolja ki azt az URL-címet, amelyet a logikai alkalmazás egy eseményindítót figyel. Erre az URL-címre az Event Grid konfigurálásához lesz szükség.

  1. Kattintással bontsa ki a HTTP-kérés fogadásakor triggerkonfigurációs mezőt.

  2. Másolja ki a HTTP POST URL értékét a mellette lévő másolás gombra kattintva.

    Copy the HTTP POST URL

  3. Mentse ezt az URL-címet, hogy a következő szakaszban hivatkozhasson majd rá.

Az IoT Hub eseményeire való előfizetés beállítása

Ebben a szakaszban konfiguráljuk az IoT-központot, hogy közzétegye a bekövetkező eseményeket.

  1. Az Azure Portalon keresse meg az IoT-központot. Az IoT Hub megkereséséhez válassza ki az IoT Hubot az Azure-irányítópulton, majd válassza ki az IoT Hub-példányt az erőforrások listájából.

  2. Válassza az Események elemet.

    Open the Event Grid details

  3. Válassza az Eseményfeliratkozás elemet.

    Create new event subscription

  4. Hozza létre az esemény-előfizetést a következő értékekkel:

    1. Az ESEMÉNYFELIRATKOZÁS RÉSZLETEI szakaszban:

      1. Adja meg az esemény-előfizetés nevét.
      2. Válassza az Event Grid-sémát az eseményséma számára.
    2. A TÉMAKÖR RÉSZLETEI szakaszban:

      1. Erősítse meg, hogy a Témakör típusa az IoT Hub értékre van állítva.
      2. Erősítse meg, hogy a Forrás-erőforrás mező értékeként az IoT-központ neve van megadva.
      3. Adja meg az Ön számára létrehozandó rendszertémakör nevét. A rendszertémakörökről a rendszertémakörök áttekintésében olvashat.
    3. AzESEMÉNYTÍPUSOK szakaszban:

      1. Válassza a Szűrés eseménytípusra legördülő listát.

      2. Törölje az eszköz által létrehozott és törölt eszközök jelölőnégyzetének jelölését, így csak az Eszköz Csatlakozás és az Eszköz nélkül jelölőnégyzet van bejelölve.

        select subscription event types

    4. A VÉGPONT ADATAI szakaszban:

      1. Válassza ki a végponttípust webhookként.
      2. Kattintson a végpont kiválasztása elemre, illessze be a logikai alkalmazásból kimásolt URL-címet, és erősítse meg a választását.

      select endpoint url

      Ha végzett, a panelnek az alábbi példához kell hasonlítania:

      Screenshot of your 'Create Event Subscription' page in the Azure portal.

  5. Select Create.

Új eszköz csatlakoztatásának és telemetria küldésének szimulálása

Tesztelje a logikai alkalmazást egy eszközkapcsolat gyors szimulálásával az Azure CLI használatával.

  1. Válassza a Cloud Shell gombot a terminál újbóli megnyitásához.

  2. Futtassa a következő parancsot egy szimulált eszközidentitás létrehozásához:

    az iot hub device-identity create --device-id simDevice --hub-name {YourIoTHubName}
    

    A feldolgozás eltarthat egy percig. A létrehozása után megjelenik egy JSON-nyomat a konzolon.

  3. Futtassa az alábbi parancsot az eszköz IoT Hubhoz való csatlakoztatásának szimulálásához és a telemetriai adatok küldéséhez:

    az iot device simulate -d simDevice -n {YourIoTHubName}
    
  4. Amikor a szimulált eszköz csatlakozik az IoT Hubhoz, e-mailben értesítést kap egy "Eszköz Csatlakozás ed" eseményről.

  5. Amikor a szimuláció befejeződik, egy e-mailt kap, amely értesíti Önt egy "DeviceDisconnected" eseményről.

    Screenshot of the email you should receive.

Clean up resources

Ebben az oktatóanyagban olyan erőforrásokat használtunk, amelyek költségekkel terhelik az Azure-előfizetését. Ha befejezte az oktatóanyag kipróbálását és az eredmények tesztelését, tiltsa le vagy törölje azokat az erőforrásokat, amelyeket nem szeretne megtartani.

Az oktatóanyagban létrehozott összes erőforrás törléséhez törölje az erőforráscsoportot.

  1. Válassza ki az Erőforráscsoportokat, majd válassza ki az oktatóanyaghoz létrehozott erőforráscsoportot.

  2. Az Erőforráscsoport panelen válassza az Erőforráscsoport törlése lehetőséget. A rendszer kérni fogja az erőforráscsoport nevének megadását, majd törölheti azt. Az abban található összes erőforrás is el lesz távolítva.

Következő lépések

A támogatott logikai Alkalmazás-összekötő teljes listáját a