Kurz: Posílání e-mailových oznámení o událostech služby Azure IoT Hub s využitím služeb Event Grid a Logic Apps
Azure Event Grid vám umožňuje reagovat na události ve službě IoT Hub aktivováním akcí v podnikových aplikacích ve směru server-klient.
Tento článek vás provede ukázkovou konfigurací, která používá Službu IoT Hub a Event Grid. Na konci máte aplikaci logiky Azure nastavenou tak, aby při každém připojení nebo odpojení zařízení k centru IoT odeslala e-mail s oznámením. Event Grid se dá použít k včasnému oznámení o odpojení důležitých zařízení. Zobrazení metrik a diagnostiky v protokolech nebo upozorněních může trvat několik minut (například 20 minut nebo více). Delší doba zpracování může být pro kritickou infrastrukturu nepřijatelná.
Pokud ještě nemáte předplatné Azure, vytvořte si bezplatný účet Azure před tím, než začnete.
Předpoklady
- E-mailový účet od libovolného poskytovatele e-mailu, který podporuje Azure Logic Apps, jako je Office 365 Outlook nebo Outlook.com. Tento e-mailový účet se používá k posílání oznámení o událostech.
Použijte prostředí Bash v Azure Cloud Shellu. Další informace najdete v tématu Rychlý start pro Bash v Azure Cloud Shellu.
Pokud dáváte přednost místnímu spouštění referenčních příkazů rozhraní příkazového řádku, nainstalujte Azure CLI. Pokud používáte Windows nebo macOS, zvažte spuštění Azure CLI v kontejneru Docker. Další informace najdete v tématu Jak spustit Azure CLI v kontejneru Dockeru.
Pokud používáte místní instalaci, přihlaste se k Azure CLI pomocí příkazu az login. Pokud chcete dokončit proces ověřování, postupujte podle kroků zobrazených na terminálu. Další možnosti přihlášení najdete v tématu Přihlášení pomocí Azure CLI.
Po zobrazení výzvy nainstalujte rozšíření Azure CLI při prvním použití. Další informace o rozšířeních najdete v tématu Využití rozšíření v Azure CLI.
Spuštěním příkazu az version zjistěte verzi a závislé knihovny, které jsou nainstalované. Pokud chcete upgradovat na nejnovější verzi, spusťte az upgrade.
Vytvoření centra IoT
Pomocí terminálu Azure Cloud Shell na portálu můžete rychle vytvořit nové centrum IoT.
Přihlaste se k portálu Azure.
V pravém horním rohu stránky vyberte tlačítko Cloud Shell.
Spuštěním následujícího příkazu vytvoříte novou skupinu prostředků:
az group create --name {your resource group name} --location westus
Spuštěním následujícího příkazu vytvořte IoT Hub:
az iot hub create --name {your iot hub name} --resource-group {your resource group name} --sku S1
Minimalizujte terminál Cloud Shellu. Později v tomto kurzu se vrátíte do prostředí.
Vytvoření aplikace logiky
Dále vytvořte aplikaci logiky a přidejte trigger služby EVENT Grid HTTP, který zpracovává požadavky ze služby IoT Hub.
Vytvořte prostředek aplikace logiky
Na webu Azure Portal vyberte Vytvořit prostředek, do vyhledávacího pole zadejte "aplikace logiky" a vyberte return. Ve výsledcích vyberte aplikaci logiky.
Na další obrazovce vyberte Vytvořit.
Pojmenujte aplikaci logiky jedinečný název ve vašem předplatném a pak vyberte stejné předplatné, skupinu prostředků a umístění jako vaše centrum IoT. Zvolte typ plánu Consumption.
Vyberte Zkontrolovat a vytvořit.
Ověřte nastavení a pak vyberte Vytvořit.
Po vytvoření prostředku vyberte Přejít k prostředku.
V Návrháři pro Logic Apps přejděte na stránku dolů a zobrazte šablony. Zvolte prázdnou aplikaci logiky, abyste mohli aplikaci logiky sestavit úplně od začátku.
Výběr aktivační události
Trigger je konkrétní událost, která spustí aplikaci logiky. V tomto kurzu trigger, který spustí pracovní postup, přijímá žádost přes protokol HTTP.
Do panelu hledání pro konektory a triggery zadejte HTTP.
Projděte výsledky a vyberte Požadavek – Když se jako trigger obdrží požadavek HTTP.
Vyberte K vygenerování schématu použít ukázkovou datovou část.
Zkopírujte následující
json
hodnoty a nahraďte zástupné hodnoty<>
vlastními.Vložte JSON schématu událostí připojeného k zařízení do textového pole a pak vyberte Hotovo:
[{ "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" }]
Důležité
Nezapomeňte vložit fragment kódu JSON do pole poskytnutého ukázkovou datovou částí Použít k vygenerování odkazu schématu a ne přímo do pole Schéma JSON textu požadavku. Ukázkový odkaz na datovou část poskytuje způsob, jak vygenerovat obsah JSON na základě fragmentu kódu JSON. Konečný kód JSON, který končí v textu požadavku, se liší od fragmentu kódu JSON.
Tato událost publikuje, když je zařízení připojené k centru IoT.
Poznámka:
Může se zobrazit automaticky otevírané oznámení, že do požadavku nezapomeňte zahrnout hlavičku Content-Type nastavenou na application/json. Tento návrh můžete bezpečně ignorovat a přejít k další části.
Vytvoření akce
Akce jsou všechny kroky, které se provádějí potom, co trigger spustí pracovní postup aplikace logiky. V tomto kurzu je akce poslání e-mailového oznámení z vašeho poskytovatele e-mailu.
Vyberte Nový krok. Zobrazí se okno s výzvou k výběru akce.
Vyhledejte Outlook.
Vyhledejte a vyberte konektor odpovídající vašemu poskytovateli e-mailu. Tento kurz používá Outlook.com. Kroky pro jiné poskytovatele e-mailu jsou podobné. Případně můžete pomocí Office 365 Outlooku přeskočit krok přihlášení.
Zvolte akci Odeslat e-mail (V2).
Vyberte Přihlásit se a přihlaste se ke svému e-mailovému účtu. Pokud chcete aplikaci umožnit přístup k vašim informacím, vyberte Ano .
Vytvořte e-mailovou šablonu.
Komu: Zadejte e-mailovou adresu, která bude dostávat e-maily s oznámeními. Pro účely tohoto kurzu použijte e-mailový účet, ke kterému máte při testování přístup.
Předmět: Vyplňte text předmětu. Po kliknutí na textové pole Předmět můžete vybrat dynamický obsah, který chcete zahrnout. Například tento kurz používá
IoT Hub alert: {eventType}
. Pokud dynamický obsah nevidíte, vyberte hypertextový odkaz Přidat dynamický obsah a zapněte nebo vypněte zobrazení dynamického obsahu.
Po výběru
eventType
uvidíte zatím výstup e-mailového formuláře. Vyberte možnost Odeslat a poslat e-mail (V2) a upravte text e-mailu.- Text: Napište text e-mailu. V nástroji pro výběr vyberte vlastnosti JSON, které budou zahrnovat dynamický obsah na základě dat události. Pokud se dynamický obsah nezobrazuje, vyberte hypertextový odkaz Přidat dynamický obsah pod textovým polem Text. Jestliže požadovaná pole nevidíte, klikněte na obrazovce Dynamický obsah na možnost více, aby se zobrazila pole z předchozí akce.
Vaše e-mailová šablona může vypadat podobně jako tento příklad:
V Návrháři pro Logic Apps vyberte Uložit.
Zkopírujte adresu URL protokolu HTTP
Než opustíte Návrháře pro Logic Apps, zkopírujte adresu URL, na které vaše aplikace logiky naslouchá triggeru. Pomocí této adresy URL nakonfigurujete Event Grid.
Kliknutím rozbalte konfigurační pole triggeru Při přijetí požadavku HTTP.
Tlačítkem vedle hodnoty Adresa URL operace HTTP POST tuto hodnotu zkopírujte.
Adresu URL si uložte, abyste na ni mohli odkazovat v další části.
Konfigurace odběru událostí služby IoT Hub
V této části nakonfigurujete v IoT Hubu publikování událostí, když k nim dojde.
Na webu Azure Portal přejděte do svého centra IoT. Centrum IoT najdete tak , že vyberete IoT Hub z řídicího panelu Azure a pak vyberete instanci ioT Hubu ze seznamu prostředků.
Vyberte Události.
Vyberte Odběr události.
Vytvořte odběr události s následujícími hodnotami:
V části PODROBNOSTI O ODBĚRU UDÁLOSTÍ:
- Zadejte název odběru události.
- Vyberte schéma Event Gridu pro schéma událostí.
V části PODROBNOSTI O TÉMATU:
- Potvrďte, že Typ tématu je nastavený na IoT Hub.
- Potvrďte, že název centra IoT je nastaven jako hodnota pro pole Zdrojový prostředek.
- Zadejte název systémového tématu , které se pro vás vytvoří. Další informace o systémových tématech najdete v tématu Přehled systémových témat.
V části TYPY UDÁLOSTÍ:
Vyberte rozevírací seznam Filtrovat na typy událostí.
Zrušte zaškrtnutí políček Vytvořené zařízení a Odstraněné zařízení a nechte zaškrtnutá políčka Zařízení Připojení a Odpojené zařízení.
V části PODROBNOSTI O KONCOVÝCH BODECH:
- Jako webhook vyberte typ koncového bodu.
- Klikněte na Vybrat koncový bod a vložte adresu URL, kterou jste zkopírovali ze své aplikace logiky. Pak výběr potvrďte.
Po dokončení by mělo příslušné podokno vypadat podobně jako v následujícím příkladu:
Vyberte Vytvořit.
Simulace nového zařízení, které se připojuje a odesílá telemetrická data
Otestujte aplikaci logiky rychlou simulací připojení zařízení pomocí Azure CLI.
Výběrem tlačítka Cloud Shell znovu otevřete terminál.
Spuštěním následujícího příkazu vytvořte identitu simulovaného zařízení:
az iot hub device-identity create --device-id simDevice --hub-name {YourIoTHubName}
Zpracování může trvat minutu. Po vytvoření se v konzole zobrazí výtisk JSON.
Spuštěním následujícího příkazu simulujte připojení zařízení ke službě IoT Hub a odesílání telemetrie:
az iot device simulate -d simDevice -n {YourIoTHubName}
Když se simulované zařízení připojí ke službě IoT Hub, obdržíte e-mail s upozorněním na událost "Zařízení Připojení ed".
Po dokončení simulace obdržíte e-mail s oznámením o události DeviceDisconnected.
Vyčištění prostředků
Tento kurz využívá prostředky, za které vám můžou být v předplatném Azure účtovány poplatky. Po dokončení vyzkoušení kurzu a testování výsledků zakažte nebo odstraňte prostředky, které nechcete zachovat.
Pokud chcete odstranit všechny prostředky vytvořené v tomto kurzu, odstraňte skupinu prostředků.
Vyberte skupiny prostředků a pak vyberte skupinu prostředků, kterou jste vytvořili pro účely tohoto kurzu.
V podokně Skupina prostředků vyberte Odstranit skupinu prostředků. Zobrazí se výzva k zadání názvu skupiny prostředků a pak ji můžete odstranit. Všechny prostředky obsažené v něm jsou rovněž odstraněny.
Další kroky
- Další informace o Reagování na události služby IoT Hub pomocí aktivace akcí mřížkou událostí
- Informace o uspořádání událostí připojení a odpojení zařízení
- Další informace o tom, co ještě můžete provést se službou Event Grid
Úplný seznam podporovaných Konektor aplikace logiky najdete v tématu