Kurz: Část 2 – Zobrazení směrovaných zpráv
Směrování zpráv umožňuje odesílat data telemetrie ze zařízení IoT do integrovaných koncových bodů kompatibilních s centrem událostí nebo vlastních koncových bodů, jako je BLOB storage, Service Bus fronty, Service Bus témata a Event Hubs. Chcete-li nakonfigurovat vlastní směrování zpráv, vytvořte dotazy směrování pro přizpůsobení trasy, která odpovídá určité podmínce. Po nastavení se příchozí data automaticky přesměrují na koncové body pomocí služby IoT Hub. Pokud zpráva neodpovídá žádnému z definovaných směrovacích dotazů, bude směrována do výchozího koncového bodu.
V tomto 2 kurzu se naučíte, jak nastavit a používat tyto vlastní dotazy směrování s IoT Hub. Zprávy ze zařízení IoT směrujete do jednoho z několika koncových bodů, včetně úložiště objektů BLOB a fronty Service Bus. Zprávy do fronty Service Bus vybírají aplikace logiky a odesílají se prostřednictvím e-mailu. Zprávy, které nemají definované vlastní směrování zpráv, se odešlou do výchozího koncového bodu a pak se vybírají Azure Stream Analytics a zobrazí se ve vizualizaci Power BI.
K dokončení částí 1 a 2 tohoto kurzu provedete následující úlohy:
Část I: vytvoření prostředků, nastavení směrování zpráv
- Vytvoření prostředků – služby IoT Hub, účtu úložiště, fronty Service Bus a simulovaného zařízení. Můžete to udělat pomocí Azure Portal, Azure Resource Manager šablony, rozhraní příkazového řádku Azure nebo Azure PowerShell.
- Konfigurace koncových bodů a směrování zpráv v IoT Hub pro účet úložiště a Service Bus fronty.
Část II: odeslání zpráv do centra, zobrazení směrovaných výsledků
- Vytvoření aplikace logiky, která se aktivuje a odešle e-mail, kdykoli se ve frontě Service Bus objeví nová zpráva.
- Stažení a spuštění aplikaci, která bude simulovat IoT zařízení odesílající zprávy do centra s různými možnosti směrování.
- Vytvoření vizualizace Power BI pro data odesílaná výchozím koncovým bodem.
- Zobrazení výsledků...
- ...ve frontě Service Bus a v e-mailech.
- ...v účtu úložiště.
- ...ve vizualizaci Power BI.
Požadavky
V části 1 tohoto kurzu:
- Mít předplatné Azure. Pokud ještě nemáte předplatné Azure, vytvořte si napřed bezplatný účet.
V části 2 tohoto kurzu:
- Musíte mít hotovou část 1 tohoto kurzu a prostředky budou stále k dispozici.
- Nainstalujte Visual Studio.
- Mít přístup k účtu Power BI k analýze Stream Analytics výchozího koncového bodu. (Vyzkoušejte službu Power BI zdarma.)
- Máte pracovní nebo školní účet pro odesílání e-mailů s oznámením.
- Ujistěte se, že je v bráně firewall otevřený port 8883. Ukázka v tomto kurzu používá protokol MQTT, který komunikuje přes port 8883. Tento port může být blokovaný v některých podnikových a vzdělávacích prostředích sítě. Další informace a způsoby, jak tento problém obejít, najdete v tématu připojení k IoT Hub (MQTT).
Použití služby Azure Cloud Shell
Azure hostí interaktivní prostředí Azure Cloud Shell, které můžete používat v prohlížeči. Pro práci se službami Azure můžete v prostředí Cloud Shell použít buď Bash, nebo PowerShell. Můžete použít předinstalované příkazy služby Cloud Shell ke spuštění kódu uvedeného v tomto článku, aniž byste museli instalovat cokoli do svého místního prostředí.
Spuštění služby Azure Cloud Shell:
| Možnost | Příklad nebo odkaz |
|---|---|
| Zvolte Vyzkoušet v pravém horním rohu bloku kódu. Výběr Vyzkoušet automaticky nekopíruje kód do služby Cloud Shell. | ![]() |
| Přejděte na adresu https://shell.azure.com nebo výběrem tlačítka Spustit Cloud Shell otevřete Cloud Shell v prohlížeči. | ![]() |
| Zvolte tlačítko Cloud Shell v pruhu nabídky v pravém horním rohu webu Azure Portal. | ![]() |
Pokud chcete spustit kód uvedený v tomto článku ve službě Azure Cloud Shell, postupujte takto:
Spusťte Cloud Shell.
Vyberte tlačítko Kopírovat na bloku kódu a kód zkopírujte.
Vložte kód do relace Cloud Shell pomocí kláves Ctrl+Shift+V ve Windows a Linuxu nebo pomocí kláves Cmd+Shift+V v systému macOS.
Spusťte kód stisknutím klávesy Enter.
Poznámka
Tento článek používá modul Azure Az PowerShell, což je doporučený modul PowerShellu pro interakci s Azure. Pokud chcete začít s modulem Az PowerShell, projděte si téma věnované instalaci Azure PowerShellu. Informace o tom, jak migrovat na modul Az PowerShell, najdete v tématu Migrace Azure PowerShellu z AzureRM na Az.
Pravidla pro směrování zpráv
Níže jsou uvedená pravidla pro směrování zpráv, která byla nastavena v části 1 tohoto kurzu, a vidíte, že fungují v této druhé části.
| Hodnota | Výsledek |
|---|---|
| level="storage" | Zapsat do úložiště Azure Storage. |
| level="critical" | Zapsat do fronty Service Bus. Aplikace logiky načte zprávu z |
| fronty a Office 365 zprávy e-mailem. | |
| default | Zobrazte tato data pomocí Power BI. |
Teď vytvoříte prostředky, do kterých se budou zprávy směrovat, spustíte aplikaci pro odesílání zpráv do centra a uvidíte směrování v akci.
Vytvoření aplikace logiky
Fronta Service Bus se použije pro příjem zpráv označených jako kritické. Dále vytvořte aplikaci logiky pro monitorování fronty Service Bus, která odešle e-mail, kdykoli se ve frontě objeví nová zpráva.
V Azure Portalvyberte + Vytvořit prostředek. Do vyhledávacího pole vložte aplikaci logiky a stiskněte Enter. Ze zobrazených výsledků hledání vyberte Aplikace logiky a pak vyberte Vytvořit, abyste pokračovali do podokna Vytvořit aplikaci logiky. Vyplňte jednotlivá pole.
Předplatné: Vyberte své předplatné Azure.
Skupina prostředků: V poli Skupina prostředků vyberte Vytvořit novou. Jako název skupiny prostředků zadejte ContosoResources.
Podrobnosti o instanci Typ: Jako typ instance vyberte Consumption.
Jako Název aplikace logiky zadejte název aplikace logiky. Tento kurz používá ContosoLogicApp.
Oblast: Použijte umístění nejbližšího datacentra. Tento kurz používá USA – západ.
Povolit Log Analytics: Toto přepínací tlačítko nastavte tak, aby nepo povolovat analytiku protokolů.

Vyberte Zkontrolovat a vytvořit. Nasazení aplikace může trvat několik minut. Po dokončení se zobrazí obrazovka s přehledem nasazení.
Přejděte do aplikace logiky. Pokud jste stále na stránce nasazení, můžete vybrat Přejít k prostředku. Dalším způsobem, jak se dostat do aplikace logiky, je vybrat skupiny prostředků, vybrat skupinu prostředků (v tomto kurzu se používá ContosoResources) a pak ze seznamu prostředků vybrat aplikaci logiky.
Posuňte se dolů, dokud neuvidíte téměř prázdnou dlaždici s prázdnou aplikací logiky + a vyberte ji. Výchozí karta na obrazovce je Pro vás. Pokud je toto podokno prázdné, vyberte Vše a zobrazte konektory a triggery, které jsou k dispozici.
V Service Bus konektorů vyberte Další.

Tento snímek obrazovky ukazuje seznam triggerů. Vyberte zprávu s textem When a message is received in a queue (auto-complete) (Při přijetí zprávy ve frontě (automatické dokonování).

Do polí na další obrazovce zadejte informace o připojení.
Název připojení: ContosoConnection
Vyberte obor Service Bus názvů. Tento kurz používá ContosoSBNamespace. Načtou se a načtou se název klíče (RootManageSharedAccessKey) a práva (naslouchat, spravovat, odesílat). Vyberte RootManageSharedAccessKey. Tlačítko Vytvořit se změní na modrou (aktivní). Vyberte ji. Zobrazuje obrazovku pro výběr fronty.
V dalším kroku budete požádáni o informace o frontě.

Název fronty: Toto pole je název fronty, ze které se zpráva odesílá. Klikněte na tento rozevírací seznam a vyberte název fronty, který jste nastavili v krocích nastavení. Tento kurz používá contososbqueue.
Typ fronty: Typ fronty. V rozevíracím seznamu vyberte Hlavní.
U ostatních polí vezměte výchozí hodnoty. Vyberte Uložit a uložte konfiguraci návrháře aplikací logiky.
Vyberte + Nový krok. Zobrazí se podokno Zvolte operaci. Vyberte Office 365 Outlook. V seznamu vyhledejte a vyberte Odeslat e-mail (V2). Přihlaste se ke svému Office 365 účtu.
Vyplňte pole, která se mají použít při odesílání e-mailu o zprávě ve frontě.

Chcete-li: Dejte e-mailovou adresu, na kterou se má upozornění odeslat.
Předmět: Vyplňte předmět e-mailu.
Text: Vyplňte text textu textu. Klikněte na Přidat dynamický obsah a zobrazí se pole, která můžete vybrat z e-mailu, který chcete zahrnout. Pokud žádné nevidíte, výběrem možnosti Zobrazit více zobrazíte další možnosti. Výběrem možnosti Obsah zobrazíte text e-mailu v chybové zprávě.
Kliknutím na Uložit změny uložte. Zavřete Návrháře aplikace logiky.
Nastavení služby Azure Stream Analytics
Pokud chcete zobrazit data ve vizualizaci Power BI, nejprve vytvořte úlohu Stream Analytics pro načítání dat. Mějte na paměti, že pouze zprávy, jejichž vlastnost level je normal, se odesílají výchozímu koncovému bodu a budou úlohou Stream Analytics vizualizované v PowerBI.
Vytvoření úlohy služby Stream Analytics
Do vyhledávacího pole Azure Portal vložte úlohu Stream Analytics a stiskněte Enter. Vyberte Vytvořit, abyste se Stream Analytics obrazovky úlohy, a pak znovu vytvořte, abyste se dostat na obrazovku pro vytvoření.
Zadejte o úloze následující informace.
Název úlohy: Název, který chcete úloze dát. Název musí být globálně jedinečný. Tento kurz používá contosoJob.
Předplatné: Předplatné Azure, které používáte pro tento kurz.
Skupina prostředků: Použijte stejnou skupinu prostředků jako pro centrum IoT. Tento kurz používá ContosoResources.
Umístění: Použijte stejné umístění, které používáte v instalačním skriptu. Tento kurz používá USA – západ.

Vyberte Vytvořit a vytvořte úlohu. Nasazení může trvat několik minut.
Pokud se chcete vrátit do úlohy, vyberte Přejít k prostředku. Můžete také vybrat Skupiny prostředků. Tento kurz používá ContosoResources. Pak vyberte skupinu prostředků a pak v Stream Analytics prostředků vyberte požadovanou úlohu.
Přidání vstupu úlohy Stream Analytics
V části Topologie úlohy vyberte Vstupy.
V podokně Vstupy vyberte Přidat vstup streamu a vyberte IoT Hub. Na další obrazovce vyplňte následující pole:
Alias pro vstup: Tento kurz používá contosoinputs.
Vyberte Select IoT Hub from your subscriptions (Vybrat předplatné) z vašich předplatných a pak v rozevíracím seznamu vyberte své předplatné.
IoT Hub: Vyberte centrum IoT. Tento kurz používá ContosoTestHub.
Skupina uživatelů: Vyberte skupinu uživatelů nastavenou v části 1 tohoto kurzu. Tento kurz používá contosoconsumers.
Název zásady sdíleného přístupu: Vyberte službu. Portál vyplní Klíč zásad sdíleného přístupu za vás.
Koncový bod: vyberte Zasílání zpráv. (Pokud vyberete monitorování operací, získáte namísto procházejících dat telemetrická data o centru IoT.)
Pro zbývající pole můžete použít výchozí hodnoty.

Vyberte Uložit.
Přidání vstupu úlohy Stream Analytics
V části Topologie úlohy vyberte Výstupy.
V podokně Výstupy vyberte Přidat a pak vyberte Power BI. Na další obrazovce vyplňte následující pole:
Alias pro výstup: Jedinečný alias pro výstup. Tento kurz používá contosooutputs.
Ve svých předplatných vyberte Vybrat pracovní prostor skupiny. V části Pracovní prostor skupiny zadejte Můj pracovní prostor.
Režim ověřování: Vyberte Token uživatele.
Název datové sady: Název datové sady, kterou chcete v Power BI použít. Tento kurz používá contosodataset.
Název tabulky: Název tabulky, kterou chcete v Power BI použít. Tento kurz používá contosotable.
Vyberte Autorizovat a přihlaste se ke svému Power BI účtu. (Přihlášení může trvat déle než jeden pokus).

Vyberte Uložit.
Konfigurace dotazu pro úlohu Stream Analytics
V části Topologie úlohy vyberte Dotaz.
Nahraďte
[YourInputAlias]názvem aliasu pro vstup úlohy. Tento kurz používá contosoinputs.Nahraďte
[YourOutputAlias]názvem aliasu pro výstup. Tento kurz používá contosooutputs.
Vyberte Uložit.
Zavřete podokno dotazu. Vrátíte se k zobrazení prostředků ve skupině prostředků. Vyberte úlohu Stream Analytics. V tomto kurzu má název contosoJob.
Spuštění úlohy Stream Analytics
V Stream Analytics vyberte Spustit > nyní > Spustit. Jakmile se úloha úspěšně spustí, stav úlohy se změní ze Zastaveno na Spuštěno.
K nastavení Power BI sestavy potřebujete data, takže po vytvoření zařízení a spuštění aplikace simulace zařízení pro vygenerování dat nastavíte Power BI.
Spuštění aplikace simulovaného zařízení
V části 1 tohoto kurzu nastavíte zařízení pro simulaci pomocí zařízení IoT. Pokud jste si ji ještě nestahovali, stáhněte si ji, ne konzolovou aplikaci .NET, která simuluje odesílání zpráv zařízení-cloud do služby IoT Hub, stáhněte si ho tady.
Tato aplikace odesílá zprávy pro každou z různých metod směrování zpráv. Ve stažené složce je také složka, která obsahuje kompletní šablonu Azure Resource Manager a soubor parametrů, stejně jako skripty Azure CLI a PowerShellu.
Pokud jste soubory z úložiště v části 1 tohoto kurzu nestáhnete, pokračujte a stáhněte si je teď ze simulace zařízení IoT. Výběrem tohoto odkazu se stáhne úložiště s několika aplikacemi. Řešení, které hledáte, je iot-hub/Tutorials/Routing/IoT_SimulatedDevice.sln.
Poklikejte na soubor řešení (IoT_SimulatedDevice.sln) a otevřete kód v Visual Studio a pak otevřete soubor Program.cs. Nahraďte {your hub name} názvem hostitele centra IoT. Formát názvu hostitele centra IoT je {iot-hub-name}.azure-devices.net. V tomto kurzu je název hostitele centra ContosoTestHub.azure-devices.net. Dále nahraďte {your device key} klíčem zařízení, který jste si předtím uložili při vytváření simulovaného zařízení.
static string s_myDeviceId = "Contoso-Test-Device";
static string s_iotHubUri = "ContosoTestHub.azure-devices.net";
// This is the primary key for the device. This is in the portal.
// Find your IoT hub in the portal > IoT devices > select your device > copy the key.
static string s_deviceKey = "{your device key}";
Spuštění a testování
Spusťte konzolovou aplikaci. Počkejte několik minut. Na obrazovce konzoly aplikace uvidíte odesílané zprávy.
Aplikace odesílá zprávy typu zařízení-cloud do centra IoT každou sekundu. Zpráva obsahuje serializovaný objekt JSON s ID zařízení, teplotou, vlhkostí a úrovní zprávy, jejíž výchozí hodnota je normal. Úrovni zprávy se náhodně přiřazuje critical nebo storage, což způsobí směrování zprávy do účtu úložiště nebo do fronty Service Bus (což aktivuje aplikaci logiky, která odešle e-mail). Výchozí hodnoty čtení ( normal ) lze zobrazit v sestavě BI.
Pokud je všechno správně nastavené, v tomto okamžiku byste měli získat následující výsledky:
Začnete dostávat e-maily o kritických zprávách.

Tento výsledek znamená, že platí následující tvrzení.
- Směrování do fronty Service Bus pracuje správně.
- Aplikace logiky přebírající zprávy z fronty Service Bus pracuje správně.
- Konektor aplikace logiky do Outlooku pracuje správně.
V Azure Portalvyberte Skupiny prostředků a vyberte skupinu prostředků. Tento kurz používá ContosoResources.
Vyberte účet úložiště, vyberte Kontejnery a pak vyberte kontejner, ve který jsou uloženy výsledky. Tento kurz používá contosoresults. Měli byste vidět složku, ve které můžete procházet adresáře, dokud neuvidíte jeden nebo několik souborů. Otevřete jeden z těchto souborů; obsahují položky směrované do účtu úložiště.

Tento výsledek znamená, že následující příkaz je pravdivý.
- Směrování do účtu úložiště pracuje správně.
Když je aplikace stále spuštěná, nastavte vizualizaci Power BI, abyste viděli zprávy přicházející přes výchozí koncový bod.
Nastavení vizualizací Power BI
Přihlaste se ke svému účtu Power BI.
Vyberte Pracovní prostor. Zobrazuje alespoň jednu vytvořenou datovou sadu. Pokud tam nic není, spusťte aplikaci Simulované zařízení dalších 5 až 10 minut, abyste streamovali více dat. Jakmile se pracovní prostor zobrazí, bude mít datovou sadu s názvem ContosoDataset. Klikněte pravým tlačítkem na tři svislé tečky napravo od názvu datové sady. V rozevíracím seznamu vyberte Vytvořit sestavu.

Podívejte se do části Vizualizace na pravé straně a výběrem možnosti Line chart (Čárový graf) vyberte na stránce sestavy BI čárový graf. Přetáhněte grafiku tak, aby vyplnil prostor vodorovně. Teď vpravo v části Pole otevřete tabulku ContosoTable. Vyberte EventEnqueuedUtcTime. Měla by být vložena přes osu X. Vyberte teplotu a přetáhněte ji do pole hodnoty pro teplotu. Tím se do grafu přidá teplota. Měli byste mít něco, co vypadá jako na následujícím obrázku:

Klikněte na spodní polovinu oblasti grafu. Znovu vyberte Spojnicový graf . Vytvoří se graf pod prvním.
V tabulce vyberte EventQueuedTime, umístí se do pole osa. Přetáhněte vlhkost do pole hodnoty. Nyní vidíte oba grafy.

Odeslali jste zprávy z výchozího koncového bodu IoT Hub do Azure Stream Analytics. pak jste přidali sestavu Power BI pro zobrazení dat, přidání dvou grafů představujících teplotu a vlhkost.
Vyberte soubor > Uložit , aby se sestava uložila, a po zobrazení výzvy zadejte název sestavy. Uložte sestavu do svého pracovního prostoru.
Data můžete zobrazit v obou grafech. Tento výsledek znamená, že jsou splněné následující příkazy:
- Směrování do výchozího koncového bodu pracuje správně.
- Úloha Azure Stream Analytics správně streamuje.
- Vizualizace Power BI je nastavená správně.
kliknutím na tlačítko aktualizovat v horní části okna Power BI můžete aktualizovat grafy, aby se zobrazila nejnovější data.
Vyčištění prostředků
Pokud chcete odebrat všechny prostředky Azure, které jste vytvořili v obou částech tohoto kurzu, odstraňte skupinu prostředků. Tato akce odstraní všechny prostředky, které skupina obsahuje. V tomto případě se odebere centrum IoT, obor názvů a fronta Service Bus, aplikace logiky, účet úložiště i samotná skupina prostředků. můžete také odebrat prostředky Power BI a vymazat e-maily odeslané v průběhu tohoto kurzu.
Vyčištění prostředků ve vizualizaci Power BI
Přihlaste se ke svému účtu Power BI. Přejděte do svého pracovního prostoru. Tento kurz používá My Workspace. chcete-li odebrat vizualizaci Power BI, klikněte na datové sady a vyberte ikonu odpadkového koše pro odstranění datové sady. Tento kurz používá contosodataset. Pokud datovou sadu odeberete, odebere se také sestava.
Vyčištění prostředků pomocí Azure CLI
Chcete-li odebrat skupinu prostředků, použijte příkaz az group delete. $resourceGroup byl nastaven na ContosoResources zpět na začátku tohoto kurzu.
az group delete --name $resourceGroup
Vyčištění prostředků pomocí PowerShellu
Pokud chcete odebrat skupinu prostředků, použijte příkaz Remove-AzResourceGroup . $resourceGroup byl nastaven na ContosoResources zpět na začátku tohoto kurzu.
Remove-AzResourceGroup -Name $resourceGroup
Vyčištění testovacích e-mailů
Možná budete chtít také odstranit množství e-mailů ve vaší doručené poště, které byly vygenerovány prostřednictvím aplikace logiky v době, kdy byla aplikace zařízení spuštěna.
Další kroky
V tomto výukovém kurzu jste zjistili, jak používat směrování zpráv ke směrování IoT Hubch zpráv do různých umístění, a to prováděním následujících úkolů.
Část I: vytvoření prostředků, nastavení směrování zpráv
- vytvoření prostředků – služby IoT hub, účtu úložiště, fronty Service Bus a simulovaného zařízení.
- konfigurace koncových bodů a směrování zpráv v IoT Hub pro účet úložiště a Service Bus fronty.
Část II: odeslání zpráv do centra, zobrazení směrovaných výsledků
Vytvoření aplikace logiky, která se aktivuje a odešle e-mail, kdykoli se ve frontě Service Bus objeví nová zpráva.
Stažení a spuštění aplikaci, která bude simulovat IoT zařízení odesílající zprávy do centra s různými možnosti směrování.
Vytvoření vizualizace Power BI pro data odesílaná výchozím koncovým bodem.
Zobrazení výsledků...
...ve frontě Service Bus a v e-mailech.
...v účtu úložiště.
...ve vizualizaci Power BI.
V dalším kurzu se dozvíte, jak spravovat stav zařízení IoT.


