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á IoT Hub a Event Grid. Na konci máte aplikaci logiky Azure nastavenou k odeslání e-mailového oznámení pokaždé, když se zařízení připojí nebo odpojí ke službě IoT Hub. Event Grid můžete použít k získání včasného oznámení o odpojení důležitých zařízení. Metriky a diagnostika mohou trvat několik (tj. 20 nebo více), ale minuty se zobrazí v protokolech a výstrahách. To může být nepřijatelné pro kritickou infrastrukturu.

Pokud ještě nemáte předplatné Azure,vytvořte si bezplatný účet před tím, než začnete.

Požadavky

  • E-mailový účet od jakéhokoli poskytovatele e-mailu, který podporuje Azure Logic Apps, jako je například Office 365 Outlook nebo Outlook.com. Tento e-mailový účet se používá k posílání oznámení o událostech.
  • V nástroji použijte prostředí Bash Azure Cloud Shell.

    Spuštění služby Cloud Shell v novém okně

  • Pokud tomu dáváte přednost, můžete nainstalovat Azure CLI a spouštět referenční příkazy CLI.

    • 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í jsou popsané 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

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

  1. Přihlaste se na Azure Portal.

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

    Tlačítko Cloud Shell

  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 centrum IoT:

    az iot hub create --name {your iot hub name} --resource-group {your resource group name} --sku S1 
    
  5. Minimalizujte Cloud Shell terminálu. 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, který zpracovává požadavky ze služby IoT Hub.

Vytvořte prostředek aplikace logiky

  1. V Azure Portalvyberte vytvořit prostředek, do vyhledávacího pole zadejte "Logic App" a vyberte Return (vrátit). Z výsledků vyberte Aplikace logiky .

    Vytvoření aplikace logiky

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

  3. Pojmenujte svoji aplikaci logiky jedinečným názvem v rámci vašeho předplatného a potom vyberte stejné předplatné, skupinu prostředků a umístění, jako má vaše centrum IoT.

    Pole pro vytvoření aplikace logiky

  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 Logic Apps stránku dolů a zobrazte šablony. Vyberte prázdná aplikace logiky , abyste mohli vytvořit aplikaci logiky 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.

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

  2. Procházejte výsledky a vyberte požadavek – když se jako aktivační událost přijme požadavek HTTP .

    Výběr triggeru požadavku HTTP

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

    Použít ukázkovou datovou část

  4. Do textového pole vložte JSON schématu události připojené zařízení a potom vyberte Hotovo:

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

    Tato událost se publikuje, když je zařízení připojené ke IoT Hub.

Poznámka

Můžete se zobrazit automaticky otevírané okno s oznámením Nezapomeňte do svého požadavku přidat hlavičku Content-Type nastavenou na application/json. Tento návrh můžete v klidu 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. Tím se otevře okno pro Výběr akce.

  2. Vyhledejte Outlook.

  3. Vyhledejte a vyberte konektor odpovídající vašemu poskytovateli e-mailu. V tomto kurzu se používá Outlook.com. Kroky pro jiné poskytovatele e-mailu jsou podobné.

    Výběr konektoru poskytovatele e-mailu

  4. Vyberte akci Odeslat e-mail (v2) .

  5. Vyberte Přihlásit se a přihlaste se ke svému e-mailovému účtu. Vyberte Ano , pokud chcete aplikaci povolit přístup k vašim informacím.

  6. Vytvořte e-mailovou šablonu.

    • Komu: Zadejte e-mailovou adresu pro příjem e-mailů s oznámením. 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. Tento kurz například používá IoT Hub alert: {eventType} . Pokud nevidíte dynamický obsah, vyberte hypertextový odkaz Přidat dynamický obsah – tím ho přepínáte a vypnuli.

    • 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 nemůžete zobrazit dynamický obsah, v textovém poli text zprávy vyberte hypertextový odkaz Přidat dynamický obsah . Pokud se vám nezobrazují požadovaná pole, klikněte na tlačítko Další na obrazovce dynamický obsah a přidejte pole z předchozí akce.

    Vaše e-mailová šablona může vypadat podobně jako tento příklad:

    Vyplnění informací e-mailu

  7. V Návrháři pro Logic Apps vyberte Uložit.

Zkopírujte adresu URL protokolu HTTP

Než odejdete z návrháře aplikace logiky, zkopírujte adresu URL, kterou vaše aplikace logiky sleduje kvůli 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.

    Zkopírování adresy URL operace HTTP POST

  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. Můžete to udělat tak, že vyberete skupiny prostředků, pak vyberete skupinu prostředků tohoto kurzu a pak ze seznamu prostředků vyberete Centrum IoT.

  2. Vyberte Události.

    Otevření podrobností Event Gridu

  3. Vyberte Odběr události.

    Vytvoření nového odběru události

  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 Event Grid schéma 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 vytvoří za vás. 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řeno zařízení a odstraněné zařízení a nechte zaškrtnuté políčko Odpojeno zařízení a odpojit zařízení .

        Výběr typů událostí odběru

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

      1. Jako webový Hook vyberte Typ koncové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.

      Výběr adresy URL koncového bodu

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

      Ukázkový formulář odběru události

  5. Vyberte Vytvořit.

Simulace nového zařízení připojujícího a odesílaného telemetrie

Otestujte aplikaci logiky díky rychlému simulaci připojení zařízení pomocí Azure CLI.

  1. Kliknutím na tlačítko 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}
    
  3. Spusťte následující příkaz, který simuluje připojení zařízení k IoT Hub a odesílání telemetrie:

    az iot device simulate -d simDevice -n {YourIoTHubName}
    
  4. Po připojení simulovaného zařízení k IoT Hub obdržíte e-mail s upozorněním na události "DeviceConnected".

  5. Po dokončení simulace obdržíte e-mail s upozorněním na události "DeviceDisconnected".

    Příklad e-mailové zprávy

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. Až skončíte s vyzkoušením kurzu a otestujete výsledky, 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 pro tento kurz vytvořili.

  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 ho můžete odstranit. Odstraní se také všechny prostředky, které jsou v něm obsažené.

Další kroky

Úplný seznam podporovaných konektorů aplikace logiky najdete v tématu.