Kurz: Odesílání dat zařízení do Azure Storage pomocí směrování zpráv ioT Hubu
Směrování zpráv v Azure IoT Hubu můžete použít k odesílání telemetrických dat ze zařízení IoT do služeb Azure, jako je úložiště objektů blob, fronty služby Service Bus, témata služby Service Bus a Event Hubs. Každé centrum IoT má výchozí integrovaný koncový bod, který je kompatibilní se službou Event Hubs. Můžete také vytvářet vlastní koncové body a směrovat zprávy do jiných služeb Azure definováním dotazů směrování. Každá zpráva, která dorazí do centra IoT, se směruje do všech koncových bodů, jejichž směrovací dotazy odpovídají. Pokud zpráva neodpovídá žádnému z definovaných dotazů směrování, směruje se do výchozího koncového bodu.
V tomto kurzu provedete následující úlohy:
- Vytvořte centrum IoT a odešlete do něj zprávy zařízení.
- Vytvořte si účet úložiště.
- Vytvořte vlastní koncový bod pro účet úložiště a směrujte do něj zprávy z Centra IoT.
- Zobrazení zpráv zařízení v objektu blob účtu úložiště
Požadavky
Předplatné Azure. Pokud ještě nemáte předplatné Azure, vytvořte si napřed bezplatný účet.
Centrum IoT ve vašem předplatném Azure Pokud centrum ještě nemáte, můžete postupovat podle kroků v tématu Vytvoření centra IoT.
V tomto kurzu se používá ukázkový kód ze sady Azure IoT SDK pro jazyk C#.
- Stáhněte nebo naklonujte úložiště sady SDK do vývojového počítače.
- Na vývojovém počítači můžete mít .NET Core 3.0.0 nebo novější. V případě potřeby zkontrolujte verzi spuštěním
dotnet --version
a stažením .NET .
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 síťových prostředích. Další informace a způsoby řešení tohoto problému najdete v tématu Připojení ke službě IoT Hub (MQTT).
Volitelně můžete nainstalovat Azure IoT Explorer. Tento nástroj vám pomůže sledovat zprávy při jejich příchodu do centra IoT. Tento článek používá Azure IoT Explorer.
Na webu Azure Portal nejsou žádné další požadavky.
Registrace zařízení a odesílání zpráv do IoT Hubu
Zaregistrujte nové zařízení ve službě IoT Hub.
Důležité
Tento článek obsahuje postup připojení zařízení pomocí sdíleného přístupového podpisu, označovaného také jako ověřování symetrického klíče. Tato metoda ověřování je vhodná pro testování a vyhodnocení, ale ověřování zařízení pomocí certifikátů X.509 je bezpečnější přístup. Další informace najdete v tématu Zabezpečení osvědčených postupů > zabezpečení připojení.
Přihlaste se k webu Azure Portal a přejděte do centra IoT.
V nabídce vyberte Zařízení v části Správa zařízení.
Vyberte Přidat zařízení.
Zadejte ID zařízení a vyberte Uložit.
Nové zařízení by teď mělo být v seznamu zařízení. Pokud tomu tak není, aktualizujte stránku. Výběrem ID zařízení otevřete stránku s podrobnostmi o zařízení.
Zkopírujte jeden z klíčů zařízení a uložte ho. Tuto hodnotu použijete ke konfiguraci ukázkového kódu, který generuje zprávy telemetrie simulovaného zařízení.
Teď, když máte ID a klíč zařízení, použijte vzorový kód k zahájení odesílání zpráv telemetrie zařízení do IoT Hubu.
Tip
Pokud postupujete podle kroků Azure CLI pro tento kurz, spusťte ukázkový kód v samostatné relaci. Tímto způsobem můžete ukázkový kód povolit, aby pokračoval ve spuštění, zatímco budete postupovat podle zbývajících kroků rozhraní příkazového řádku.
Pokud jste nebyli součástí požadavků, stáhněte nebo naklonujte úložiště Azure IoT SDK pro C# z GitHubu.
Ze složky, do které jste stáhli nebo naklonovali sadu SDK, přejděte do
azure-iot-sdk-csharp\iothub\device\samples\how to guides\HubRoutingSample
složky.Nainstalujte sadu Azure IoT C# SDK a potřebné závislosti uvedené v
HubRoutingSample.csproj
souboru:dotnet restore
V editoru podle vašeho výběru otevřete
Parameters.cs
soubor. Tento soubor ukazuje parametry, které ukázka podporuje. Při spuštění ukázkyPrimaryConnectionString
se použije pouze parametr v tomto článku. Zkontrolujte kód v tomto souboru. Nejsou potřeba žádné změny.Pomocí následujícího příkazu sestavte a spusťte ukázkový kód:
Nahraďte
<myDevicePrimaryConnectionString>
primárním připojovací řetězec ze svého zařízení ve službě IoT Hub.dotnet run --PrimaryConnectionString <myDevicePrimaryConnectionString>
Měli byste začít zobrazovat zprávy vytištěné do výstupu, protože se odesílají do IoT Hubu. Nechte tento program spuštěný během kurzu.
Konfigurace IoT Exploreru pro zobrazení zpráv
Nakonfigurujte IoT Explorer pro připojení ke službě IoT Hub a čtení zpráv při jejich doručení do integrovaného koncového bodu.
Nejprve načtěte připojovací řetězec pro centrum IoT.
Na webu Azure Portal přejděte do svého centra IoT.
V části Nastavení zabezpečení v nabídce vyberte Zásady sdíleného přístupu.
Vyberte zásadu iothubowner .
Zkopírujte primární připojovací řetězec.
Teď tuto připojovací řetězec použijte ke konfiguraci IoT Exploreru pro centrum IoT.
Na vývojovém počítači otevřete IoT Explorer.
Vyberte Přidat připojení.
Vložte připojovací řetězec centra do textového pole.
Zvolte Uložit.
Po připojení k centru IoT by se měl zobrazit seznam zařízení. Vyberte ID zařízení, které jste vytvořili pro účely tohoto kurzu.
Vyberte Telemetrie.
Pokud je vaše zařízení stále spuštěné, vyberte Start. Pokud vaše zařízení není spuštěné, neuvidíte telemetrii.
Měli byste vidět zprávy přicházející ze zařízení s nejnovějšími zprávami zobrazenými nahoře.
Chvíli sledujte příchozí zprávy a ověřte, že vidíte tři různé typy zpráv: normální, úložiště a kritické. Po zobrazení této možnosti můžete zařízení zastavit.
Všechny tyto zprávy přicházejí do výchozího integrovaného koncového bodu pro vaše centrum IoT. V dalších částech vytvoříme vlastní koncový bod a nasměrujeme některé z těchto zpráv do úložiště na základě vlastností zprávy. Tyto zprávy se v IoT Exploreru přestanou zobrazovat, protože zprávy se přesunou jenom do integrovaného koncového bodu, když neodpovídají žádným jiným trasám ve službě IoT Hub.
Nastavení směrování zpráv
Budete směrovat zprávy do různých prostředků na základě vlastností připojených ke zprávě simulovaným zařízením. Zprávy, které nejsou vlastní směrované, se odesílají do výchozího koncového bodu (zprávy nebo události).
Ukázková aplikace pro tento kurz přiřadí vlastnost úrovně každé zprávě, kterou odesílá do centra IoT. Každá zpráva má náhodně přiřazenou úroveň normálního, úložného nebo kritického stavu.
Prvním krokem je nastavení koncového bodu, do kterého se budou data směrovat. Druhým krokem je nastavení trasy zpráv, která používá tento koncový bod. Po nastavení směrování můžete na portálu zobrazit koncové body a trasy zpráv.
Vytvoření účtu úložiště
Vytvořte účet Azure Storage a kontejner v rámci daného účtu, který bude obsahovat zprávy zařízení, které se do něj směrují.
Na webu Azure Portal vyhledejte účty úložiště.
Vyberte Vytvořit.
Zadejte následující hodnoty pro váš účet úložiště:
Parametr Hodnota Předplatné Vyberte stejné předplatné, které obsahuje vaše centrum IoT. Skupina prostředků Vyberte stejnou skupinu prostředků, která obsahuje vaše centrum IoT. Název účtu úložiště Zadejte globálně jedinečný název vašeho účtu úložiště. Výkon Přijměte výchozí standardní hodnotu. Všechny ostatní výchozí hodnoty můžete přijmout tak, že vyberete Zkontrolovat a vytvořit.
Po dokončení ověření vyberte Vytvořit.
Po dokončení nasazení vyberte Přejít k prostředku.
V nabídce účtu úložiště vyberte v části Úložiště dat kontejnery.
Vyberte + Kontejner a vytvořte nový kontejner.
Zadejte název kontejneru a vyberte Vytvořit.
Směrování do účtu úložiště
Nyní nastavte směrování pro účet úložiště. V této části definujete nový koncový bod, který odkazuje na účet úložiště, který jste vytvořili. Pak vytvořte trasu, která filtruje zprávy, ve kterých je vlastnost úrovně nastavená na úložiště, a směrujte je do koncového bodu úložiště.
Poznámka:
Data je možné zapsat do úložiště objektů blob ve formátu Apache Avro , což je výchozí nebo JSON.
Formát kódování je možné nastavit pouze v době, kdy je nakonfigurovaný koncový bod úložiště objektů blob. Formát nelze změnit pro koncový bod, který už je nastavený. Při použití kódování JSON je nutné nastavit contentType na JSON a contentEncoding na UTF-8 ve vlastnostech systému zpráv.
Podrobnější informace o používání koncového bodu úložiště objektů blob najdete v doprovodných materiálech ke směrování do úložiště.
Důležité
Tento článek obsahuje postup připojení ke službě pomocí sdíleného přístupového podpisu. Tato metoda ověřování je vhodná pro testování a vyhodnocení, ale ověřování ve službě pomocí MICROSOFT Entra ID nebo spravovaných identit je bezpečnější přístup. Další informace najdete v tématu Osvědčené postupy > zabezpečení cloudu.
Na webu Azure Portal přejděte do centra IoT.
V nabídce prostředků v části Nastavení centra vyberte Směrování zpráv a pak vyberte Přidat.
Na kartě Koncový bod vytvořte koncový bod úložiště zadáním následujících informací:
Parametr Hodnota Typ koncového bodu Vyberte Úložiště. Název koncového bodu Zadejte jedinečný název tohoto koncového bodu. Kontejner Azure Storage Vyberte Vybrat kontejner. Podle pokynů vyberte účet úložiště a kontejner, který jste vytvořili v předchozí části. Kódování Vyberte JSON. Pokud je toto pole neaktivní, oblast vašeho účtu úložiště nepodporuje JSON. V takovém případě pokračujte s výchozím AVRO. Přijměte výchozí hodnoty pro zbývající parametry a vyberte Vytvořit + další.
Na kartě Trasa zadejte následující informace a vytvořte trasu, která odkazuje na koncový bod úložiště, který jste vytvořili:
Parametr Hodnota Název Vytvořte název trasy. Zdroj dat Ověřte, že jsou v rozevíracím seznamu vybrané zprávy telemetrie zařízení. Povolení trasy Ověřte, že je toto pole zaškrtnuté. Dotaz směrování Zadejte level="storage"
jako řetězec dotazu.Vyberte Vytvořit a přeskočit rozšiřování.
Zobrazení směrovaných zpráv
Jakmile se trasa vytvoří v IoT Hubu a povolí se, okamžitě začne směrovat zprávy, které splňují podmínku dotazu do koncového bodu úložiště.
Monitorování integrovaného koncového bodu pomocí IoT Exploreru
Vraťte se do relace IoT Exploreru na vývojovém počítači. Vzpomeňte si, že IoT Explorer monitoruje integrovaný koncový bod pro vaše centrum IoT. To znamená, že teď byste měli vidět jenom zprávy, které nejsou směrovány vlastní trasou, kterou jsme vytvořili.
Spusťte ukázku znovu spuštěním kódu. Chvíli sledujte příchozí zprávy a měli byste vidět jenom zprávy, kde level
je nastavena normal
nebo critical
.
Zobrazení zpráv v kontejneru úložiště
Ověřte, že zprávy přicházejí do kontejneru úložiště.
Na webu Azure Portal přejděte ke svému účtu úložiště.
V části Úložiště dat v nabídce vyberte Kontejnery.
Vyberte kontejner, který jste vytvořili pro účely tohoto kurzu.
Měla by existovat složka s názvem vašeho centra IoT. Přejděte k podrobnostem struktury souborů, dokud se nedostanete k souboru .json .
Vyberte soubor JSON a pak vyberte Stáhnout a stáhněte soubor JSON. Ověřte, že soubor obsahuje zprávy ze zařízení, které mají vlastnost nastavenou
level
nastorage
.Ukončete spuštění ukázky.
Vyčištění prostředků
Pokud chcete odebrat všechny prostředky Azure, které jste použili pro účely tohoto kurzu, odstraňte skupinu prostředků. Tato akce odstraní všechny prostředky, které skupina obsahuje. Pokud nechcete odstranit celou skupinu prostředků, vyhledejte a odstraňte jednotlivé prostředky pomocí webu Azure Portal.
Pokud chcete pokračovat k dalšímu kurzu, ponechte prostředky, které jste zde vytvořili.
- Na webu Azure Portal přejděte do skupiny prostředků, která obsahuje centrum IoT a účet úložiště pro účely tohoto kurzu.
- Zkontrolujte všechny prostředky, které jsou ve skupině prostředků, a určete, které prostředky chcete vyčistit.
- Pokud chcete odstranit všechny prostředky, vyberte Odstranit skupinu prostředků.
- Pokud chcete odstranit jenom určitý prostředek, pomocí zaškrtávacích políček u každého názvu prostředku vyberte ty, které chcete odstranit. Poté vyberte Odstranit.
Další kroky
V tomto kurzu jste zjistili, jak vytvořit vlastní koncový bod pro prostředek Azure a pak vytvořit trasu pro odesílání zpráv zařízení do tohoto koncového bodu. V dalším kurzu se dozvíte, jak rozšířit zprávy o další data, která je možné použít ke zjednodušení zpracování podřízených dat.