Integrace úložišť dat s kanály IoT

Dokončeno

Teď, když jste úspěšně implementovali Cosmos DB, je potřeba určit, jak ji můžete integrovat se službami Azure IoT. Plánujete prozkoumat jeho využití možností horké i studené cesty. Toto zkoumání usnadňuje účet pro scénáře inventáře inteligentních zařízení a telemetrie zařízení, které jsou součástí návrhu aplikací nativních pro cloud. Chcete také identifikovat další úložiště dat, která můžete v návrhu používat.

Co jsou aspekty návrhu specifické pro službu Azure Cosmos DB?

Při návrhu databáze Azure Cosmos DB a hierarchie kontejnerů je pro zajištění optimálního výkonu a efektivity nezbytná správná volba klíče oddílu. Tato volba je relevantní ve scénářích IoT, které obvykle zahrnují velké objemy streamovaných dat.

Při výběru nejvhodnějšího klíče oddílu byste měli zvážit vzory použití a limit 20 GB velikosti jednotlivého logického oddílu. Obecně platí, že osvědčeným postupem je vytvořit klíč oddílu se stovkami nebo tisíci jedinečných hodnot. Tato metoda vede k vyváženému využití úložiště a výpočetních prostředků napříč položkami přidruženými k těmto hodnotám klíče oddílu. Současně nesmí kombinovaná velikost položek, které sdílejí stejnou hodnotu klíče oddílu, překročit 20 GB.

Například při shromažďování dat IoT se můžete rozhodnout použít vlastnost /date pro streamování telemetrie a /deviceId pro inventář zařízení, pokud tyto vlastnosti představují cíle nejběžnějších datových dotazů. Případně můžete vytvořit syntetický klíč oddílu, například zřetězení hodnot /deviceId a /date. Dalším přístupem je připojení náhodného čísla v určeném rozsahu na konci hodnoty klíče oddílu. Tento přístup pomáhá zajistit vyváženou distribuci úlohy napříč několika oddíly. Díky tomu můžete při načítání položek do cílové kolekce provádět paralelní zápisy napříč několika oddíly.

Co jsou datové kanály ve scénářích IoT?

Běžným výskytem ve scénářích IoT je implementace více souběžných datových cest, a to buď rozdělením ingestovaných datových proudů, nebo předáváním datových záznamů do více kanálů. Odpovídající model architektury se označuje jako architektura Lambda a skládá se ze dvou různých typů kanálů.

Kanál rychlého (horkého) zpracování:

  • Provádí zpracování v reálném čase.
  • Analyzuje data.
  • Zobrazí datový obsah.
  • Generuje krátkodobé a časově citlivé informace.
  • Aktivuje odpovídající akce, jako jsou výstrahy.
  • Ukládá data v archivu.

Pomalý (studený) kanál zpracování:

  • Provádí složitější analýzu, která může kombinovat data z více zdrojů a v delším časovém období.
  • Generuje artefakty, jako jsou sestavy nebo modely strojového učení.

Jaká je role služeb Azure při implementaci kanálů IoT?

Systémy IoT ingestují telemetrii vygenerovanou širokou škálou zařízení, zpracovávají a analyzují streamovaná data, aby odvozovaly přehledy téměř v reálném čase a archivovaly data do studeného úložiště pro dávkové analýzy. Cesta k datům začíná telemetrií vygenerovanou zařízeními IoT odesílanými pro počáteční zpracování do Azure IoT Hubu nebo Azure IoT Central. Azure IoT Hub i Azure IoT Central ukládají shromážděná data po konfigurovatelnou dobu.

The options for integrating Azure IoT Central with cloud-native applications and Azure services.

Azure IoT Hub podporuje dělení a směrování zpráv, které umožňují určit konkrétní zprávy pro zpracování, upozorňování a nápravu úloh pomocí Azure Logic Apps a Azure Functions. Ekvivalentní funkce jsou dostupné v Azure IoT Central a jsou založené na vlastních nakonfigurovaných pravidlech, která aktivují akce prostřednictvím webhooků. Webhooky můžou odkazovat na Azure Functions, Azure Logic Apps, Microsoft Flow nebo vlastní aplikace. Trasy Azure IoT Hubu také umožňují předávat telemetrii do funkce Azure pro počáteční zpracování a pak ji předávat do služby Azure Cosmos DB. Příkladem takového zpracování je převod formátu nebo vytvoření syntetického klíče oddílu. Dalším možným využitím tras Azure IoT Hubu je kopírování příchozích dat do Azure Blob Storage nebo Azure Data Lake. Tato metoda poskytuje nízkonákladovou možnost archivace s pohodlným přístupem k dávkovému zpracování, včetně úloh Učení datových věd Azure Machine.

Azure IoT Central nabízí průběžný export dat do služby Azure Event Hubs, Azure Service Bus a vlastních webhooků. Je také možné nakonfigurovat export dat založených na intervalech do úložiště objektů blob v Azure. Azure Functions podporuje vazby pro Azure Event Hubs a Azure Service Bus, které můžete použít k jejich integraci se službou Azure Cosmos DB.

Pomocí Azure IoT Central můžete poskytovat přehledy téměř v reálném čase pomocí integrovaných analytických funkcí. Pokud potřebujete pokročilejší analýzy nebo když používáte Azure IoT Hub, můžete trychtýřová data do Azure Stream Analytics. Azure Stream Analytics podporuje rozhraní SQL API služby Azure Cosmos DB jako výstup a zapisuje výsledky zpracování datových proudů jako položky ve formátu JSON do kontejnerů Azure Cosmos DB. To implementuje archivaci dat a umožňuje dotazy s nízkou latencí a ad hoc dotazy na nestrukturovaná data JSON. Funkce kanálu změn automaticky rozpozná nová data a změny stávajících dat. Tato data můžete zpracovat připojením služby Azure Cosmos DB k Azure Synapse Analytics. Jakmile se zpracování dokončí, můžete ho načíst zpět do služby Azure Cosmos DB a získat tak podrobnější sestavy. Je také možné použít Azure Databricks se streamováním Apache Sparku k:

  • Načtěte data z Azure IoT Hubu.
  • Zpracování analýzy v reálném čase
  • Archivujte ho pro dlouhodobé uchovávání a další generování sestav do služeb Azure, jako jsou Azure Cosmos DB, Azure Blob Storage nebo Azure Data Lake.