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.

Vytvoření centra IoT

Pomocí terminálu Azure Cloud Shell na portálu můžete rychle vytvořit nové centrum IoT.

  1. Přihlaste se k portálu Azure.

  2. V pravém horním rohu stránky vyberte tlačítko Cloud Shell.

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

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

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

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

  2. Na další obrazovce vyberte Vytvořit.

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

    Screenshot of how to configure your logic app.

  4. Vyberte Zkontrolovat a vytvořit.

  5. Ověřte nastavení a pak vyberte Vytvořit.

  6. Po vytvoření prostředku vyberte Přejít k prostředku.

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

    Screenshot of the Logic App Designer templates.

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.

  1. Do panelu hledání pro konektory a triggery zadejte HTTP.

  2. Projděte výsledky a vyberte Požadavek – Když se jako trigger obdrží požadavek HTTP.

    Select HTTP request trigger

  3. Vyberte K vygenerování schématu použít ukázkovou datovou část.

    Use sample payload

  4. Zkopírujte následující json hodnoty a nahraďte zástupné hodnoty <> vlastními.

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

  1. Vyberte Nový krok. Zobrazí se okno s výzvou k výběru akce.

  2. Vyhledejte Outlook.

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

    Select email provider connector

  4. Zvolte akci Odeslat e-mail (V2).

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

  6. 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 eventTypeuvidíte zatím výstup e-mailového formuláře. Vyberte možnost Odeslat a poslat e-mail (V2) a upravte text e-mailu.

    Screenshot of the condensed body output form.

    • 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:

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

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

  1. Kliknutím rozbalte konfigurační pole triggeru Při přijetí požadavku HTTP.

  2. Tlačítkem vedle hodnoty Adresa URL operace HTTP POST tuto hodnotu zkopírujte.

    Copy the HTTP POST URL

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

  1. 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ů.

  2. Vyberte Události.

    Open the Event Grid details

  3. Vyberte Odběr události.

    Create new event subscription

  4. Vytvořte odběr události s následujícími hodnotami:

    1. V části PODROBNOSTI O ODBĚRU UDÁLOSTÍ:

      1. Zadejte název odběru události.
      2. Vyberte schéma Event Gridu pro schéma událostí.
    2. V části PODROBNOSTI O TÉMATU:

      1. Potvrďte, že Typ tématu je nastavený na IoT Hub.
      2. Potvrďte, že název centra IoT je nastaven jako hodnota pro pole Zdrojový prostředek.
      3. 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.
    3. V části TYPY UDÁLOSTÍ:

      1. Vyberte rozevírací seznam Filtrovat na typy událostí.

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

        select subscription event types

    4. V části PODROBNOSTI O KONCOVÝCH BODECH:

      1. Jako webhook vyberte typkoncového bodu.
      2. 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.

      select endpoint url

      Po dokončení by mělo příslušné podokno vypadat podobně jako v následujícím příkladu:

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

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

  1. Výběrem tlačítka Cloud Shell znovu otevřete terminál.

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

  3. 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}
    
  4. 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".

  5. Po dokončení simulace obdržíte e-mail s oznámením o události DeviceDisconnected.

    Screenshot of the email you should receive.

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

  1. Vyberte skupiny prostředků a pak vyberte skupinu prostředků, kterou jste vytvořili pro účely tohoto kurzu.

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

Úplný seznam podporovaných Konektor aplikace logiky najdete v tématu