Konfigurace toků dat v operacích Azure IoT
Důležité
Azure IoT Operations Preview – Služba Azure Arc je aktuálně ve verzi Preview. Tento software ve verzi Preview byste neměli používat v produkčních prostředích.
Až bude dostupná obecně dostupná verze, budete muset nasadit novou instalaci operací Azure IoT. Nebudete moct upgradovat instalaci verze Preview.
Právní podmínky, které se vztahují na funkce Azure, které jsou ve verzi beta, ve verzi Preview nebo které ještě nejsou vydány v obecné dostupnosti, najdete v dodatečných podmínkách použití pro verze Microsoft Azure Preview.
Tok dat je cesta, kterou data přebíná ze zdroje do cíle s volitelnými transformacemi. Tok dat můžete nakonfigurovat vytvořením vlastního prostředku toku dat nebo pomocí portálu Azure IoT Operations Studio. Tok dat se skládá ze tří částí: zdroje, transformace a cíle.
Pokud chcete definovat zdroj a cíl, musíte nakonfigurovat koncové body toku dat. Transformace je volitelná a může zahrnovat operace, jako je rozšiřování dat, filtrování dat a mapování dat na jiné pole.
Důležité
Každý tok dat musí mít jako zdroj nebo cíl výchozí koncový bod zprostředkovatele MQTT operations Azure IoT Operations.
K vytvoření toku dat můžete použít provozní prostředí v operacích Azure IoT. Provozní prostředí poskytuje vizuální rozhraní pro konfiguraci toku dat. Pomocí Bicep můžete také vytvořit tok dat pomocí souboru šablony Bicep nebo pomocí Kubernetes vytvořit tok dat pomocí souboru YAML.
Pokračujte ve čtení a zjistěte, jak nakonfigurovat zdroj, transformaci a cíl.
Požadavky
Toky dat můžete nasadit hned, jak máte instanci Azure IoT Operations Preview pomocí výchozího profilu a koncového bodu toku dat. Můžete ale chtít nakonfigurovat profily toku dat a koncové body pro přizpůsobení toku dat.
Profil toku dat
Profil toku dat určuje počet instancí pro toky dat, které se mají použít. Pokud nepotřebujete více skupin toků dat s různými nastaveními škálování, můžete použít výchozí profil toku dat. Informace o konfiguraci profilu toku dat najdete v tématu Konfigurace profilů toku dat.
Koncové body toku dat
Koncové body toku dat jsou potřeba ke konfiguraci zdroje a cíle toku dat. Abyste mohli rychle začít, můžete použít výchozí koncový bod toku dat pro místního zprostředkovatele MQTT. Můžete také vytvořit další typy koncových bodů toku dat, jako jsou Kafka, Event Hubs nebo Azure Data Lake Storage. Informace o konfiguraci jednotlivých typů koncového bodu toku dat najdete v tématu Konfigurace koncových bodů toku dat.
Začínáme
Jakmile budete mít požadavky, můžete začít vytvářet tok dat.
Pokud chcete vytvořit tok dat v provozním prostředí, vyberte Vytvořit tok> dat. Pak uvidíte stránku, kde můžete nakonfigurovat zdroj, transformaci a cíl toku dat.
V následujících částech se dozvíte, jak nakonfigurovat typy operací toku dat.
Zdroj
Pokud chcete nakonfigurovat zdroj pro tok dat, zadejte odkaz na koncový bod a seznam zdrojů dat pro koncový bod.
Použití prostředku jako zdroje
Prostředek můžete použít jako zdroj pro tok dat. Použití prostředku jako zdroje je k dispozici pouze v provozním prostředí.
V části Podrobnosti o zdroji vyberte Asset.
Vyberte prostředek, který chcete použít jako zdrojový koncový bod.
Vyberte Pokračovat.
Zobrazí se seznam datových bodů pro vybraný prostředek.
Vyberte Použít , pokud chcete prostředek použít jako zdrojový koncový bod.
Při použití prostředku jako zdroje se definice prostředku použije k odvození schématu pro tok dat. Definice prostředku obsahuje schéma datových bodů prostředku. Další informace najdete v tématu Vzdálená správa konfigurací prostředků.
Po nakonfigurování data z prostředku dosáhla toku dat přes místního zprostředkovatele MQTT. Proto při použití prostředku jako zdroje používá tok dat jako skutečný zdroj výchozí koncový bod zprostředkovatele MQTT.
Použití výchozího koncového bodu MQTT jako zdroje
V části Podrobnosti o zdroji vyberte MQTT.
Zadejte následující nastavení pro zdroj MQTT:
Nastavení Popis Téma MQTT Filtr tématu MQTT pro přihlášení k odběru příchozích zpráv. Viz Témata týkající se konfigurace MQTT nebo Kafka. Schéma zpráv Schéma, které se má použít k deserializaci příchozích zpráv. Viz Určení schématu pro deserializaci dat. Vyberte Použít.
Pokud se jako zdroj nepoužívá výchozí koncový bod, musí se použít jako cíl. Další informace najdete v tématu Toky dat musí používat místní koncový bod zprostředkovatele MQTT.
Použití vlastního koncového bodu toku dat Kafka nebo MQTT jako zdroje
Pokud jste vytvořili vlastní koncový bod MQTT nebo toku dat Kafka (například pro použití se službou Event Grid nebo Event Hubs), můžete ho použít jako zdroj pro tok dat. Mějte na paměti, že koncové body typu úložiště, jako jsou Data Lake nebo Fabric OneLake, se nedají použít jako zdroj.
Ke konfiguraci použijte Kubernetes YAML nebo Bicep. Nahraďte zástupné hodnoty vlastním názvem a tématy koncového bodu.
Použití vlastního koncového bodu MQTT nebo Kafka jako zdroje se v současné době v provozním prostředí nepodporuje.
Konfigurace zdrojů dat (témata MQTT nebo Kafka)
Ve zdroji můžete zadat několik témat MQTT nebo Kafka, aniž byste museli upravovat konfiguraci koncového bodu toku dat. Tato flexibilita znamená, že stejný koncový bod je možné znovu použít napříč několika toky dat, i když se témata liší. Další informace najdete v tématu Opětovné použití koncových bodů toku dat.
Témata MQTT
Pokud je zdrojem koncový bod MQTT (zahrnutý event Grid), můžete k odběru příchozích zpráv použít filtr tématu MQTT. Filtr témat může obsahovat zástupné cardy pro přihlášení k odběru více témat. Například thermostats/+/telemetry/temperature/#
se přihlásí k odběru všech zpráv telemetrie teploty z termostatů. Konfigurace filtrů témat MQTT:
V podrobnostech o zdroji toku dat v provozním prostředí vyberte MQTT a pak pomocí pole tématu MQTT určete filtr tématu MQTT pro přihlášení k odběru příchozích zpráv.
Poznámka:
V provozním prostředí je možné zadat pouze jeden filtr témat MQTT. Pokud chcete použít více filtrů témat MQTT, použijte Bicep nebo Kubernetes.
Sdílená předplatná
Pokud chcete používat sdílená předplatná se zdroji MQTT, můžete zadat téma sdíleného předplatného $shared/<GROUP_NAME>/<TOPIC_FILTER>
ve formě .
V provozním prostředí se zobrazí podrobnosti o zdroji toku dat, vyberte MQTT a pomocí pole téma MQTT určete skupinu a téma sdíleného předplatného.
Pokud je počet instancí v profilu toku dat větší než 1, je sdílené předplatné automaticky povolené pro všechny toky dat, které používají zdroj MQTT. V tomto případě $shared
se přidá předpona a automaticky se vygeneruje název skupiny sdílených předplatných. Pokud máte například profil toku dat s počtem instancí 3 a váš tok dat jako zdroj nakonfigurovaný s tématy topic1
používá koncový bod MQTT a topic2
automaticky se převedou na sdílená předplatná jako $shared/<GENERATED_GROUP_NAME>/topic1
a $shared/<GENERATED_GROUP_NAME>/topic2
. Pokud chcete použít jiné ID skupiny sdílených předplatných, můžete ho přepsat v tématu, například $shared/mygroup/topic1
.
Důležité
Toky dat vyžadují sdílené předplatné, pokud je počet instancí větší než 1, je důležité při použití zprostředkovatele Event Grid MQTT jako zdroje, protože nepodporuje sdílená předplatná. Pokud se chcete vyhnout chybějícím zprávám, nastavte počet instancí profilu toku dat na hodnotu 1 při použití zprostředkovatele Event Grid MQTT jako zdroje. To znamená, že tok dat je odběratel a přijímá zprávy z cloudu.
Témata Kafka
Pokud je zdrojem koncový bod Kafka (zahrnutá služba Event Hubs), zadejte jednotlivá témata kafka, která se mají přihlásit k odběru příchozích zpráv. Zástupné cardy nejsou podporovány, takže je nutné zadat každé téma staticky.
Poznámka:
Při použití služby Event Hubs prostřednictvím koncového bodu Kafka je každé jednotlivé centrum událostí v rámci oboru názvů téma Kafka. Pokud máte například obor názvů služby Event Hubs se dvěma centry událostí a thermostats
humidifiers
můžete každé centrum událostí zadat jako téma Kafka.
Konfigurace témat Kafka:
Použití koncového bodu Kafka jako zdroje se v současné době nepodporuje v provozním prostředí.
Určení schématu pro deserializaci dat
Pokud zdrojová data obsahují volitelná pole nebo pole s různými typy, zadejte schéma deserializace, které zajistí konzistenci. Data můžou mít například pole, která nejsou ve všech zprávách. Bez schématu transformace nemůže zpracovat tato pole, protože by měly prázdné hodnoty. Pomocí schématu můžete zadat výchozí hodnoty nebo pole ignorovat.
Určení schématu je relevantní pouze při použití zdroje MQTT nebo Kafka. Pokud je zdrojem prostředek, schéma se automaticky odvodí z definice prostředku.
Konfigurace schématu použitého k deserializaci příchozích zpráv ze zdroje:
V provozním prostředí se zobrazí podrobnosti o zdroji toku dat, vyberte MQTT a pomocí pole Schéma zprávy určete schéma. Soubor schématu můžete nahrát napřed pomocí tlačítka Nahrát . Další informace najdete v tématu Vysvětlení schémat zpráv.
Transformace
Transformační operace je místo, kde můžete transformovat data ze zdroje předtím, než je odešlete do cíle. Transformace jsou volitelné. Pokud nepotřebujete provádět změny dat, nezahrnujte do konfigurace toku dat operaci transformace. Více transformací je zřetězených ve fázích bez ohledu na pořadí, ve kterém jsou zadané v konfiguraci. Pořadí fází je vždy:
- Obohacení, přejmenování nebo přidání nové vlastnosti: Přidání dalších dat do zdrojových dat zadaných datovou sadou a podmínkou, které se mají shodovat.
- Filtr: Filtruje data na základě podmínky.
- Mapování nebo výpočty: Přesun dat z jednoho pole do druhého pomocí volitelného převodu
V provozním prostředí vyberte Přidat transformaci toku>dat (volitelné).
Obohacení: Přidání referenčních dat
K obohacení dat můžete použít referenční datovou sadu v úložišti distribuovaných stavů Azure IoT Operations (DSS). Datová sada se používá k přidání dalších dat do zdrojových dat na základě podmínky. Podmínka se zadává jako pole ve zdrojových datech, které odpovídá poli v datové sadě.
Ukázková data můžete načíst do DSS pomocí ukázky nástroje sady DSS. Názvy klíčů v úložišti distribuovaných stavů odpovídají datové sadě v konfiguraci toku dat.
V provozním prostředí se fáze rozšiřování v současné době podporuje pomocí transformací vlastnosti Rename a New .
V provozním prostředí vyberte tok dat a pak přidejte transformaci (volitelné).
Zvolte Přejmenovat nebo Nová transformace vlastností a pak vyberte Přidat.
Pokud datová sada obsahuje záznam s polem asset
, podobá se:
{
"asset": "thermostat1",
"location": "room1",
"manufacturer": "Contoso"
}
Data ze zdroje s odpovídajícími deviceId
thermostat1
poli mají location
pole a manufacturer
pole dostupná ve fázích filtrování a mapování.
Další informace o syntaxi podmínky naleznete v tématu Obohacení dat pomocí toků dat a převod dat pomocí toků dat.
Filtr: Filtrování dat na základě podmínky
K filtrování dat v podmínce můžete použít filter
fázi. Podmínka je určena jako pole ve zdrojových datech, které odpovídá hodnotě.
V části Transformace (volitelné) vyberte Přidat filtr>.
Zvolte datové body, které chcete zahrnout do datové sady.
Přidejte podmínku filtru a popis.
Vyberte Použít.
Můžete například použít podmínku filtru, jako temperature > 20
je filtrování dat menší než nebo rovno 20 na základě pole teploty.
Mapa: Přesun dat z jednoho pole do druhého
Pokud chcete data namapovat na jiné pole s volitelným převodem, můžete tuto operaci použít map
. Převod je určen jako vzorec, který používá pole ve zdrojových datech.
V provozním prostředí se v současné době podporuje mapování pomocí transformací Compute .
V části Transformace (volitelné) vyberte Přidat výpočetní prostředky>.
Zadejte požadovaná pole a výrazy.
Vyberte Použít.
Další informace najdete v tématu Mapování dat pomocí toků dat a převodu dat pomocí toků dat.
Serializace dat podle schématu
Pokud chcete data před odesláním do cíle serializovat, musíte zadat schéma a formát serializace. V opačném případě se data serializují ve formátu JSON s odvozenými typy. Koncové body úložiště, jako jsou Microsoft Fabric nebo Azure Data Lake, vyžadují schéma pro zajištění konzistence dat. Podporované formáty serializace jsou Parquet a Delta.
V současné době není v provozním prostředí podporováno určení výstupního schématu a serializace.
Další informace o registru schématu naleznete v tématu Vysvětlení schémat zpráv.
Cíl
Pokud chcete nakonfigurovat cíl pro tok dat, zadejte odkaz na koncový bod a cíl dat. Můžete zadat seznam cílů dat pro koncový bod.
Pokud chcete odesílat data do jiného cíle, než je místní zprostředkovatel MQTT, vytvořte koncový bod toku dat. Postup najdete v tématu Konfigurace koncových bodů toku dat. Pokud cíl není místním zprostředkovatelem MQTT, musí se použít jako zdroj. Další informace najdete v tématu Toky dat musí používat místní koncový bod zprostředkovatele MQTT.
Důležité
Koncové body úložiště vyžadují odkaz na schéma. Pokud jste vytvořili cílové koncové body úložiště pro Microsoft Fabric OneLake, ADLS Gen2, Azure Data Explorer a Local Storage, musíte zadat odkaz na schéma.
Vyberte koncový bod toku dat, který chcete použít jako cíl.
Vyberte Pokračovat a nakonfigurujte cíl.
Zadejte požadovaná nastavení cíle, včetně tématu nebo tabulky pro odeslání dat. Další informace najdete v tématu Konfigurace cíle dat (téma, kontejner nebo tabulka).
Konfigurace cíle dat (téma, kontejner nebo tabulka)
Podobně jako u zdrojů dat je cílem dat koncept, který slouží k opakovanému použití koncových bodů toku dat napříč několika toky dat. V podstatě představuje podadresář v konfiguraci koncového bodu toku dat. Pokud je například koncovým bodem toku dat koncový bod úložiště, cílem dat je tabulka v účtu úložiště. Pokud je koncový bod toku dat koncovým bodem Kafka, je cílem dat téma Kafka.
Typ koncového bodu | Význam cíle dat | Popis |
---|---|---|
MQTT (nebo Event Grid) | Téma | Téma MQTT, ve kterém se data odesílají. Podporují se pouze statická témata, žádná zástupná dokumentace. |
Kafka (nebo Event Hubs) | Téma | Téma Kafka, ve kterém se data odesílají. Podporují se pouze statická témata, žádná zástupná dokumentace. Pokud je koncový bod oborem názvů služby Event Hubs, je cílem dat jednotlivé centrum událostí v rámci oboru názvů. |
Azure Data Lake Storage | Kontejner | Kontejner v účtu úložiště. Ne tabulka. |
Microsoft Fabric OneLake | Tabulka nebo složka | Odpovídá nakonfigurovaného typu cesty pro koncový bod. |
Průzkumník dat Azure | Table | Tabulka v databázi Azure Data Exploreru. |
Lokální úložiště | Složka | Název složky nebo adresáře v připojení trvalého svazku místního úložiště. Pokud používáte Službu Azure Container Storage povolenou svazky Azure Arc Cloud Ingest Edge, musí se shodovat s spec.path parametrem pro podvolum, který jste vytvořili. |
Konfigurace cíle dat:
Při použití provozního prostředí se cílové pole dat automaticky interpretuje na základě typu koncového bodu. Pokud je například koncový bod toku dat koncovým bodem úložiště, zobrazí se na stránce podrobností cíle výzva k zadání názvu kontejneru. Pokud je koncový bod toku dat koncovým bodem MQTT, zobrazí se na stránce podrobností cíle výzva k zadání tématu atd.
Příklad
Následující příklad je konfigurace toku dat, která používá koncový bod MQTT pro zdroj a cíl. Zdroj filtruje data z tématu azure-iot-operations/data/thermostat
MQTT . Transformace převede teplotu na Fahrenheita a vyfiltruje data, ve kterých je teplota vynásobená vlhkostí menší než 1 00000. Cíl odešle data do tématu factory
MQTT .
Příklad konfigurace najdete na kartách Bicep nebo Kubernetes.
Další příklady konfigurací toku dat najdete v tématu Azure REST API – Tok dat a rychlý start Bicep.
Ověření, že tok dat funguje
Postupujte podle kurzu: Obousměrný most MQTT do Azure Event Gridu a ověřte, že tok dat funguje.
Export konfigurace toku dat
Pokud chcete exportovat konfiguraci toku dat, můžete použít provozní prostředí nebo exportovat vlastní prostředek toku dat.
Vyberte tok dat, který chcete exportovat, a na panelu nástrojů vyberte Exportovat .
Správná konfigurace toku dat
Pokud chcete zajistit, aby tok dat fungoval podle očekávání, ověřte následující:
- Výchozí koncový bod toku dat MQTT musí být použit jako zdroj nebo cíl.
- Profil toku dat existuje a odkazuje se na ho v konfiguraci toku dat.
- Zdrojem je koncový bod MQTT, koncový bod Kafka nebo prostředek. Koncové body typu úložiště nejde použít jako zdroj.
- Pokud jako zdroj používáte Event Grid, nastaví se počet instancí profilu toku dat na 1, protože zprostředkovatel Event Grid MQTT nepodporuje sdílená předplatná.
- Při použití služby Event Hubs jako zdroje je každé centrum událostí v oboru názvů samostatné téma Kafka a musí být zadáno jako zdroj dat.
- Transformace, pokud se používá, je nakonfigurována se správnou syntaxí, včetně správného uvozování speciálních znaků.
- Při použití koncových bodů typu úložiště jako cíle se zadává schéma.