Kurz: Použití rozšíření zpráv azure IoT Hubu
Obohacení zpráv je schopnost Azure IoT Hubu označit zprávy dalšími informacemi před odesláním zpráv do určeného koncového bodu. Jedním z důvodů, proč použít rozšiřování zpráv, je zahrnout data, která lze použít ke zjednodušení zpracování v podřízené části. Například rozšiřování zpráv zařízení značkou dvojčete zařízení může snížit zatížení zákazníků, aby pro tyto informace volaly rozhraní API dvojčete zařízení. Další informace najdete v tématu Přehled rozšiřování zpráv.
V první části tohoto kurzu jste viděli, jak vytvořit vlastní koncové body a směrovat zprávy do jiných služeb Azure. V tomto kurzu se dozvíte, jak vytvořit a nakonfigurovat další prostředky potřebné k otestování rozšiřování zpráv pro centrum IoT. Mezi prostředky patří druhý kontejner úložiště pro existující účet úložiště (vytvořený v první části kurzu), který bude obsahovat rozšířené zprávy a trasu zpráv, která je tam odešle. Po dokončení konfigurace směrování zpráv a rozšiřování zpráv použijete aplikaci k odesílání zpráv do centra IoT. Centrum je pak směruje do obou kontejnerů úložiště. Rozšířené jsou pouze zprávy odeslané do koncového bodu pro kontejner rozšířeného úložiště.
V tomto kurzu provedete následující úlohy:
- Ve svém účtu úložiště vytvořte druhý kontejner.
- Vytvořte další vlastní koncový bod a směrujte do něj zprávy z centra IoT.
- Nakonfigurujte rozšiřování zpráv, které jsou směrovány do nového koncového bodu.
- Spusťte aplikaci, která simuluje zařízení IoT, které odesílá zprávy do centra.
- Prohlédněte si výsledky a ověřte, že se u cílových zpráv používají rozšiřování zpráv.
Požadavky
Mít předplatné Azure. Pokud ještě nemáte předplatné Azure, vytvořte si napřed bezplatný účet.
Musíte mít dokončený kurz: Odesílání dat zařízení do azure Storage pomocí směrování zpráv ioT Hubu a udržování prostředků, které jste pro ni vytvořili.
Ujistěte se, že je v bráně firewall otevřený port 8883. Ukázka zařízení 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).
Na webu Azure Portal nejsou žádné další požadavky.
Vytvoření druhého kontejneru v účtu úložiště
V první části tohoto kurzu jste vytvořili účet úložiště a kontejner pro směrované zprávy. Teď byste měli vytvořit druhý kontejner pro rozšířené zprávy.
Na webu Azure Portal vyhledejte účty úložiště.
Vyberte účet, který jste předtím vytvořili.
V nabídce účtu úložiště vyberte v části Úložiště dat kontejnery.
Vyberte Kontejner a vytvořte nový kontejner.
Pojmenujte kontejner
enriched
a vyberte Vytvořit.
Směrování zpráv do druhého koncového bodu
Vytvořte druhý koncový bod a trasu pro rozšířené zprávy.
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 ContosoStorageEndpointEnriched
.Kontejner Azure Storage Vyberte Vybrat kontejner. Podle pokynů vyberte účet úložiště a obohacený 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ší.
Pokračujte vytvořením nové trasy a teď, když jste přidali koncový bod úložiště. Zadejte následující informace pro novou trasu:
Parametr Hodnota Název ContosoStorageRouteEnriched Zdroj dat Ověřte, že jsou v rozevíracím seznamu vybrané zprávy telemetrie zařízení. Povolení trasy Ověřte, zda je toto pole nastaveno na enabled
hodnotu .Dotaz směrování Zadejte level="storage"
jako řetězec dotazu.Vyberte Vytvořit a přidat obohacení.
Přidání rozšiřování zpráv do nového koncového bodu
Vytvořte tři rozšíření zpráv, které budou směrovány do rozšířeného kontejneru úložiště.
Na kartě Obohacení v průvodci přidáním trasy přidejte tři rozšíření zpráv pro zprávy, které se přejdou do koncového bodu kontejneru úložiště označovaného jako obohacené.
Přidejte tyto hodnoty jako rozšíření zpráv pro koncový bod ContosoStorageEndpointEnriched:
Jméno Hodnota myIotHub $hubname
DeviceLocation $twin.tags.location
(předpokládá, že dvojče zařízení má značku umístění)customerID 6ce345b8-1e4a-411e-9398-d34587459a3a
Po dokončení by vaše rozšíření měla vypadat podobně jako na tomto obrázku:
Výběrem možnosti Přidat přidáte obohacení zpráv.
Teď máte nastavené rozšiřování zpráv pro všechny zprávy směrované do koncového bodu, který jste vytvořili pro rozšířené zprávy. Pokud nechcete do dvojčete zařízení přidat značku umístění, můžete přeskočit do části Rozšíření testovacích zpráv a pokračovat v kurzu.
Přidání značky polohy do dvojčete zařízení
Jedna z rozšíření zpráv nakonfigurovaných v centru IoT určuje klíč DeviceLocation s jeho hodnotou určenou následující cestou dvojčete zařízení: $twin.tags.location
Pokud dvojče zařízení nemá značku umístění, cesta $twin.tags.location
dvojčete se označí jako řetězec pro klíč DeviceLocation v rozšiřování zpráv.
Pokud chcete přidat značku polohy do dvojčete vašeho zařízení, postupujte takto:
Na webu Azure Portal přejděte do centra IoT.
V navigační nabídce centra IoT vyberte Zařízení a pak vyberte své zařízení.
Vyberte kartu dvojčete zařízení v horní části stránky zařízení a přidejte následující řádek těsně před pravou složenou závorku v dolní části dvojčete zařízení. Pak vyberte Uložit.
, "tags": {"location": "Plant 43"}
Tip
Než budete pokračovat k další části, počkejte asi pět minut. Než se aktualizace dvojčete zařízení projeví v hodnotách rozšiřování zpráv, může to trvat až tak dlouho.
Další informace o tom, jak se cesty dvojčat zařízení zpracovávají s rozšiřováním zpráv, najdete v tématu Omezení rozšiřování zpráv. Další informace o dvojčatech zařízení najdete v tématu Principy a používání dvojčat zařízení ve službě IoT Hub.
Otestování rozšíření zpráv
Teď, když jsou rozšíření zpráv nakonfigurované pro koncový bod ContosoStorageEndpointEnriched , spusťte aplikaci simulovaného zařízení pro odesílání zpráv do centra IoT. V tomto okamžiku bylo směrování zpráv nastaveno takto:
Zprávy směrované do koncového bodu úložiště, který jste vytvořili v první části kurzu, nebudou obohaceny a budou uloženy v kontejneru úložiště, který jste vytvořili.
Zprávy směrované do koncového bodu úložiště ContosoStorageEndpointEnriched se rozšíří a uloží do rozšířeného kontejneru úložiště.
Pokud ještě nespouštíte konzolovou aplikaci SimulatedDevice z první části tohoto kurzu, spusťte ji znovu:
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.
V ukázkové složce přejděte do
/iot-hub/Tutorials/Routing/SimulatedDevice/
složky.Definice proměnných, které jste aktualizovali dříve, by měly být stále platné, ale pokud ne, upravte je v
Program.cs
souboru:Najděte definice proměnných v horní části třídy Program . Aktualizujte následující proměnné vlastními informacemi:
- s_myDeviceId: ID zařízení, které jste přiřadili při registraci zařízení do centra IoT.
- s_iotHubUri: Název hostitele vašeho centra IoT, který přebírá formát
IOTHUB_NAME.azure-devices.net
. - s_deviceKey: Primární klíč zařízení nalezený v informacích o identitě zařízení.
Soubor uložte a zavřete.
Spusťte ukázkový kód:
dotnet run
Po opuštění konzolové aplikace, která se má spustit po dobu několika minut, si prohlédněte data:
Na webu Azure Portal přejděte ke svému účtu úložiště.
V navigační nabídce vyberte Prohlížeč úložiště. Výběrem kontejnerů objektů blob zobrazíte dva kontejnery, které jste vytvořili v průběhu těchto kurzů.
Zprávy v kontejneru označované jako rozšířené obsahují rozšiřování zpráv. Zprávy v kontejneru, který jste vytvořili dříve, mají nezpracované zprávy bez rozšiřování. Přejděte k podrobnostem rozšířeného kontejneru, dokud se nedostanete na konec, a pak otevřete nejnovější soubor zprávy. Potom u druhého kontejneru proveďte totéž, abyste ověřili, že je obohacený a druhý není.
Když se podíváte na zprávy, které byly rozšířeny, měli byste vidět "myIotHub"
název centra, umístění a ID zákazníka, například toto:
{
"EnqueuedTimeUtc":"2019-05-10T06:06:32.7220000Z",
"Properties":
{
"level":"storage",
"myIotHub":"{your hub name}",
"DeviceLocation":"Plant 43",
"customerID":"6ce345b8-1e4a-411e-9398-d34587459a3a"
},
"SystemProperties":
{
"connectionDeviceId":"Contoso-Test-Device",
"connectionAuthMethod":"{\"scope\":\"device\",\"type\":\"sas\",\"issuer\":\"iothub\",\"acceptingIpFilterRule\":null}",
"connectionDeviceGenerationId":"636930642531278483",
"enqueuedTime":"2019-05-10T06:06:32.7220000Z"
},"Body":"eyJkZXZpY2VJZCI6IkNvbnRvc28tVGVzdC1EZXZpY2UiLCJ0ZW1wZXJhdHVyZSI6MjkuMjMyMDE2ODQ4MDQyNjE1LCJodW1pZGl0eSI6NjQuMzA1MzQ5NjkyODQ0NDg3LCJwb2ludEluZm8iOiJUaGlzIGlzIGEgc3RvcmFnZSBtZXNzYWdlLiJ9"
}
Vyčištění prostředků
Pokud chcete odebrat všechny prostředky, které jste vytvořili v obou částech tohoto kurzu, odstraňte skupinu prostředků. Tato akce odstraní všechny prostředky, které skupina obsahuje. Pokud nechcete odstranit celou skupinu prostředků, můžete vybrat jednotlivé prostředky, ve které chcete odstranit.
- 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 nakonfigurovali a otestovali rozšiřování zpráv pro zprávy ioT Hubu při jejich směrování do koncového bodu.
Další informace o rozšiřování zpráv naleznete v tématu Přehled rozšiřování zpráv.
Další informace o IoT Hubu najdete v dalším kurzu.