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.
Használja a Bash-környezetet az Azure Cloud Shellben. További információ: A Bash rövid útmutatója az Azure Cloud Shellben.
Ha inkább helyi cli-referenciaparancsokat szeretne futtatni, telepítse az Azure CLI-t. Ha Windows vagy macOS rendszert használ, fontolja meg az Azure CLI Docker-tárolóban való futtatását. További információ: Az Azure CLI futtatása Docker-tárolóban.
Ha helyi telepítést használ, jelentkezzen be az Azure CLI-be az az login parancs futtatásával. A hitelesítési folyamat befejezéséhez kövesse a terminálon megjelenő lépéseket. További bejelentkezési lehetőségekért lásd : Bejelentkezés az Azure CLI-vel.
Amikor a rendszer kéri, először telepítse az Azure CLI-bővítményt. További információ a bővítményekről: Bővítmények használata az Azure CLI-vel.
Futtassa az az version parancsot a telepített verzió és a függő kódtárak megkereséséhez. A legújabb verzióra az az upgrade paranccsal frissíthet.
IoT Hub létrehozása
Gyorsan létrehozhat egy új IoT Hubot a portál Azure Cloud Shell-termináljának használatával.
Jelentkezzen be az Azure Portalra.
A lap jobb felső sarkában válassza a Cloud Shell gombot.
Futtassa a következő parancsot új erőforráscsoport létrehozásához:
az group create --name {your resource group name} --location westus
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
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
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.
A következő képernyőn válassza a Létrehozás lehetőséget.
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.
Select Review + create.
Ellenőrizze a beállításokat, majd válassza a Létrehozás lehetőséget.
Az erőforrás létrehozása után válassza az Ugrás az erőforrásra lehetőséget.
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.
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.
Írja be a HTTP kifejezést az összekötők és triggerek keresősávjába.
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.
Válassza a Séma létrehozása hasznosadat-minta használatával lehetőséget.
Másolja ki az
json
alábbiakat, és cserélje le a helyőrző értékeket<>
a sajátjára.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.
Válassza az Új lépés lehetőséget. Megjelenik egy ablak, amely a Művelet kiválasztására kéri.
Keresse meg az Outlookot.
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.
Válassza az E-mail küldése (v2) műveletet.
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.
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
eventType
utá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.- 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:
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.
Kattintással bontsa ki a HTTP-kérés fogadásakor triggerkonfigurációs mezőt.
Másolja ki a HTTP POST URL értékét a mellette lévő másolás gombra kattintva.
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.
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.
Válassza az Események elemet.
Válassza az Eseményfeliratkozás elemet.
Hozza létre az esemény-előfizetést a következő értékekkel:
Az ESEMÉNYFELIRATKOZÁS RÉSZLETEI szakaszban:
- Adja meg az esemény-előfizetés nevét.
- Válassza az Event Grid-sémát az eseményséma számára.
A TÉMAKÖR RÉSZLETEI szakaszban:
- Erősítse meg, hogy a Témakör típusa az IoT Hub értékre van állítva.
- Erősítse meg, hogy a Forrás-erőforrás mező értékeként az IoT-központ neve van megadva.
- 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.
AzESEMÉNYTÍPUSOK szakaszban:
Válassza a Szűrés eseménytípusra legördülő listát.
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.
A VÉGPONT ADATAI szakaszban:
- Válassza ki a végponttípust webhookként.
- 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.
Ha végzett, a panelnek az alábbi példához kell hasonlítania:
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.
Válassza a Cloud Shell gombot a terminál újbóli megnyitásához.
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.
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}
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.
Amikor a szimuláció befejeződik, egy e-mailt kap, amely értesíti Önt egy "DeviceDisconnected" eseményről.
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.
Válassza ki az Erőforráscsoportokat, majd válassza ki az oktatóanyaghoz létrehozott erőforráscsoportot.
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
- További információ az IoT Hub-eseményekre való válaszadást az Event Griddel kiváltott műveletek használatával.
- Ismerje meg, hogyan rendezheti az eszközhöz csatlakoztatott és nem csatlakoztatott eseményeket
- Ismerje meg részletesebben az Event Grid által kínált lehetőségeket.
A támogatott logikai Alkalmazás-összekötő teljes listáját a