Získání dat z Azure Event Hubs

V tomto článku se dozvíte, jak získat data ze služby Event Hubs do databáze KQL v Microsoft Fabric. Azure Event Hubs je platforma pro streamování velkých objemů dat a služba pro příjem událostí, která dokáže zpracovat a směrovat miliony událostí za sekundu.

Pokud chcete streamovat data ze služby Event Hubs do analýzy v reálném čase, projdete dvěma hlavními kroky. První krok se provede na webu Azure Portal, kde definujete zásady sdíleného přístupu v instanci centra událostí a zachytíte podrobnosti potřebné k pozdějšímu připojení prostřednictvím této zásady.

Druhý krok probíhá v analýze v reálném čase v prostředcích infrastruktury, kde připojíte databázi KQL k centru událostí a nakonfigurujete schéma pro příchozí data. Tento krok vytvoří dvě připojení. První připojení označované jako "cloudové připojení" propojuje Microsoft Fabric s instancí centra událostí. Druhé připojení připojí "cloudové připojení" k databázi KQL. Po dokončení konfigurace dat a schématu událostí jsou streamovaná data k dispozici pro dotazování pomocí sady dotazů KQL.

Požadavky

Upozorňující

Vaše centrum událostí nemůže být za bránou firewall.

Nastavení zásad sdíleného přístupu v centru událostí

Než budete moct vytvořit připojení k datům služby Event Hubs, musíte v centru událostí nastavit zásady sdíleného přístupu (SAS) a shromáždit některé informace, které se mají použít později při nastavování připojení. Další informace o autorizaci přístupu k prostředkům služby Event Hubs najdete v tématu Sdílené přístupové podpisy.

  1. Na webu Azure Portal přejděte k instanci služby Event Hubs, kterou chcete připojit.

  2. V části Nastavení vyberte Zásady sdíleného přístupu.

  3. Vyberte +Přidat , pokud chcete přidat novou zásadu SAS, nebo vyberte existující zásadu s oprávněními Spravovat .

    Screenshot of creating an SAS policy in the Azure portal.

  4. Zadejte název zásady.

  5. Vyberte Spravovat a potom Vytvořit.

Shromáždění informací o cloudovém připojení

V podokně zásad SAS si poznamenejte následující čtyři pole. Tato pole můžete chtít zkopírovat a vložit někam, třeba poznámkový blok, abyste je mohli použít v pozdějším kroku.

Screenshot showing how to fill out connection with data from Azure portal.

Odkaz na pole Pole Description Příklad
d Instance služby Event Hubs Název instance centra událostí. iotdata
b Zásady SAS Název zásady SAS vytvořený v předchozím kroku DocsTest
c Primární klíč Klíč přidružený k zásadám SAS V tomto příkladu začíná PGGIISb009...
d Připojení ionový primární klíč V tomto poli chcete zkopírovat pouze obor názvů centra událostí, který lze najít jako součást připojovací řetězec. eventhubpm15910.servicebus.windows.net

Source

  1. Na dolním pásu karet databáze KQL vyberte Získat data.

    V okně Načíst data je vybrána karta Zdroj .

  2. Vyberte zdroj dat z dostupného seznamu. V tomto příkladu ingestujete data ze služby Event Hubs.

    Screenshot of get data window with source tab selected.

Konfigurace

  1. Vyberte cílovou tabulku. Pokud chcete ingestovat data do nové tabulky, vyberte + Nová tabulka a zadejte název tabulky.

    Poznámka:

    Názvy tabulek můžou mít maximálně 1024 znaků včetně mezer, alfanumerických znaků, pomlček a podtržítka. Speciální znaky nejsou podporované.

  2. Buď vyberte Vytvořit nové připojení, nebo vyberte Existující připojení a přejděte k dalšímu kroku.

Vytvořit nové připojení

  1. Vyplňte nastavení Připojení podle následující tabulky:

    Screenshot of source tab.

    Nastavení Popis Příklad hodnoty
    Obor názvů centra událostí Pole d z výše uvedené tabulky. eventhubpm15910.servicebus.windows.net
    Centrum událostí Pole z výše uvedené tabulky Název instance centra událostí. iotdata
    Connection Pokud chcete použít existující cloudové připojení mezi prostředky infrastruktury a službou Event Hubs, vyberte název tohoto připojení. V opačném případě vyberte Vytvořit nové připojení. Vytvoření nového připojení
    Název připojení Název nového cloudového připojení. Tento název je automaticky vygenerován, ale lze ho přepsat. Musí být jedinečný v rámci tenanta Fabric. Připojení
    Druh ověřování Automaticky vyplněné. V současné době se podporuje jenom sdílený přístupový klíč. Sdílený přístupový klíč
    Název sdíleného přístupového klíče Pole b z výše uvedené tabulky. Název, který jste dali zásadám sdíleného přístupu. DocsTest
    Sdílený přístupový klíč Pole c z výše uvedené tabulky. Primární klíč zásady SAS.
  2. Zvolte Uložit. Vytvoří se nové cloudové datové připojení mezi prostředky infrastruktury a službou Event Hubs.

Připojení cloudové připojení k databázi KQL

Bez ohledu na to, jestli jste vytvořili nové cloudové připojení, nebo používáte existující, musíte definovat skupinu příjemců. Volitelně můžete nastavit parametry, které dále definují aspekty připojení mezi databází KQL a cloudovým připojením.

  1. Vyplňte následující pole podle tabulky:

    Screenshot of creating database connection.

    Nastavení Popis Příklad hodnoty
    Skupina uživatelů Příslušná skupina příjemců definovaná ve vašem centru událostí. Další informace najdete v tématu Skupiny příjemců. Po přidání nové skupiny příjemců budete muset tuto skupinu vybrat z rozevíracího seznamu. NewConsumer
    Další parametry
    Komprese Komprese dat událostí, jak pochází z centra událostí. Možnosti jsou None (výchozí) nebo Gzip compression. Nic
    Vlastnosti systému událostí Další informace naleznete v tématu Systémové vlastnosti centra událostí. Pokud existuje více záznamů na zprávu události, vlastnosti systému se přidají do prvního záznamu. Viz vlastnosti systému událostí.
    Počáteční datum načítání událostí Datové připojení načte existující události centra událostí vytvořené od data zahájení načítání událostí. Na základě doby uchovávání může načítat pouze události uchováné centrem událostí. Časové pásmo je UTC. Pokud není zadán žádný čas, je výchozím časem čas vytvoření datového připojení.
  2. Chcete-li pokračovat na kartě Kontrola, vyberte Další.

Vlastnosti systému událostí

Vlastnosti systému ukládají vlastnosti nastavené službou Event Hubs v době vytvoření fronty události. Datové připojení k centru událostí může vložit vybranou sadu systémových vlastností do dat přijatých do tabulky na základě daného mapování.

Vlastnost Datový typ Popis
x-opt-enqueued-time datetime Čas UTC, kdy byla událost zapsána do fronty.
x-opt-sequence-number long Logické pořadové číslo události v rámci datového proudu oddílu centra událostí.
x-opt-offset řetězec Posun události ze streamu oddílu centra událostí. Identifikátor posunu je jedinečný v rámci oddílu streamu centra událostí.
x-opt-publisher řetězec Název vydavatele, pokud byla zpráva odeslána do koncového bodu vydavatele.
x-opt-partition-key řetězec Klíč oddílu odpovídajícího oddílu, který událost uložil.

Inspekce

Proces příjmu dat dokončíte výběrem možnosti Dokončit.

Screenshot of the inspect tab.

Nepovinná možnost:

  • Výběrem prohlížeče příkazů zobrazíte a zkopírujete automatické příkazy vygenerované z vašich vstupů.

  • Změňte automaticky odvozený formát dat výběrem požadovaného formátu z rozevíracího seznamu. Data se čtou z centra událostí ve formě objektů EventData . Podporované formáty jsou CSV, JSON, PSV, SCsv, SOHsv TSV, TXT a TSVE.

  • Upravte sloupce.

  • Prozkoumejte pokročilé možnosti na základě datového typu.

  • Pokud se data zobrazená v okně náhledu nedokončí, budete možná potřebovat další data k vytvoření tabulky se všemi potřebnými datovými poli. K načtení nových dat z centra událostí použijte následující příkazy:

    • Zahodit a načíst nová data: zahodí zobrazená data a vyhledá nové události.
    • Načtení dalších dat: Vyhledá další události kromě již nalezených událostí.

Upravit sloupce

Poznámka:

  • U tabulkových formátů (CSV, TSV, PSV) nemůžete namapovat sloupec dvakrát. Pokud chcete namapovat na existující sloupec, nejprve odstraňte nový sloupec.
  • Existující typ sloupce nelze změnit. Pokud se pokusíte namapovat na sloupec s jiným formátem, můžete skončit s prázdnými sloupci.

Změny, které můžete provést v tabulce, závisí na následujících parametrech:

  • Typ tabulky je nový nebo existující
  • Typ mapování je nový nebo existující
Typ tabulky Typ mapování Dostupné úpravy
Nová tabulka Nové mapování Přejmenování sloupce, změna datového typu, změna zdroje dat, transformace mapování, přidání sloupce, odstranění sloupce
Existující tabulka Nové mapování Přidejte sloupec (u kterého pak můžete změnit datový typ, přejmenovat a aktualizovat)
Existující tabulka Existující mapování Žádná

Screenshot of columns open for editing.

Mapování transformací

Některá mapování formátu dat (Parquet, JSON a Avro) podporují jednoduché transformace v čase ingestování. Pokud chcete použít transformace mapování, vytvořte nebo aktualizujte sloupec v okně Upravit sloupce .

Transformace mapování je možné provést u sloupce typu řetězec nebo datum a čas, přičemž zdroj má datový typ int nebo long. Podporované transformace mapování jsou:

  • DateTimeFromUnixSeconds
  • DateTimeFromUnixMilliseconds
  • DateTimeFromUnixMicroseconds
  • DateTimeFromUnixNanoseconds

Mapování schématu pro soubory Avro zachycení služby Event Hubs

Jedním ze způsobů, jak využívat data služby Event Hubs, je zachytávat události prostřednictvím služby Azure Event Hubs ve službě Azure Blob Storage nebo Azure Data Lake Storage. Potom můžete ingestovat zachytávání souborů při jejich zápisu pomocí datového Připojení Event Gridu.

Schéma zachytávání souborů se liší od schématu původní události odeslané do služby Event Hubs. Měli byste navrhnout schéma cílové tabulky s tímto rozdílem. Datová část události je konkrétně reprezentována v souboru zachycení jako pole bajtů a toto pole není automaticky dekódováno datovým připojením Event Gridu Azure Data Exploreru. Konkrétnější informace o schématu souborů pro zachytávání dat služby Event Hubs Avro najdete v tématu Zkoumání zachycených souborů Avro ve službě Azure Event Hubs.

Správné dekódování datové části události:

  1. Namapujte Body pole zachycené události na sloupec typu dynamic v cílové tabulce.
  2. Použijte zásadu aktualizace, která převede pole bajtů na čitelný řetězec pomocí funkce unicode_codepoints_to_string().

Rozšířené možnosti založené na datovém typu

Tabulkový (CSV, TSV, PSV):

  • Pokud ingestujete tabulkové formáty v existující tabulce, můžete vybrat schéma tabulky Advanced>Keep. Tabulková data nemusí nutně obsahovat názvy sloupců, které se používají k mapování zdrojových dat na existující sloupce. Pokud je tato možnost zaškrtnutá, mapování se provádí podle pořadí a schéma tabulky zůstane stejné. Pokud tato možnost není zaškrtnutá, vytvoří se nové sloupce pro příchozí data bez ohledu na strukturu dat.

  • Pokud chcete použít první řádek jako názvy sloupců, vyberte Upřesnit>první řádek je záhlaví sloupce.

    Screenshot of advanced CSV options.

JSON:

  • Pokud chcete určit rozdělení sloupců dat JSON, vyberte pokročilé>vnořené úrovně od 1 do 100.

  • Pokud vyberete rozšířené>přeskočení řádků JSON s chybami, data se ingestují ve formátu JSON. Pokud toto políčko nezaškrtnete, data se ingestují ve vícejsonovém formátu.

    Screenshot of advanced JSON options.

Souhrn

V okně přípravy dat jsou všechny tři kroky označené zelenými značkami zaškrtnutí, jakmile se příjem dat úspěšně dokončí. Můžete vybrat kartu pro dotazování, vypustit ingestované data nebo zobrazit řídicí panel souhrnu příjmu dat.

Screenshot of summary page with successful ingestion completed.