Registr schématu ve službě Azure Event Hubs
Registr schématu ve službě Azure Event Hubs má mnoho výhod. Registr schémat pomáhá udržovat konzistenci dat, zjednodušit vývoj schématu, zlepšit interoperabilitu a snížit úsilí o vývoj ve volně propojených pracovních postupech a pracovních postupech streamování událostí. Velké distribuované organizace, které používají centralizované úložiště pro schémata, můžou pomocí registru schémat dosáhnout vysoce spolehlivého zpracování dat a zásad správného řízení s minimální provozní režií.
Registry schémat ve službě Azure Event Hubs splňují mnoho rolí ve scénářích streamování událostí řízených schématem:
- Poskytnutí úložiště, ve kterém je možné zaregistrovat, spravovat a vyvíjet více schémat
- Správa vývoje schématu s využitím několika pravidel kompatibility
- Ověření dat pro všechna schématizovaná data
- Poskytování knihoven na straně klienta (serializátorů a deserializérů) pro producenty a uživatele
- Zvýšení efektivity propustnosti sítě předáním ID schématu místo definice schématu pro každou datovou část
Registry schémat ve službě Azure Event Hubs se podporují na úrovních Standard, Premium a Dedicated.
Součásti registru schématu
Registr schématu je součástí oboru názvů služby Event Hubs, ale dá se použít i s jinými zprostředkovateli zpráv nebo událostí, včetně služeb zasílání zpráv Azure. Skládá se z několika skupin schémat, které fungují jako logické seskupení schémat a lze je spravovat nezávisle na jiných skupinách schémat.
Schémata
V jakémkoli volně svázané soustavě komunikuje více aplikací, a to především prostřednictvím dat. Schémata definují strukturu dat deklarativním způsobem. V důsledku toho je kontrakt mezi producentem a spotřebitelskými aplikacemi dobře definovaný a zajišťuje spolehlivé zpracování ve velkém měřítku.
Definice schématu zahrnuje:
- Pole: Jednotlivé datové prvky, jako je název, název knihy nebo adresa.
- Datové typy: Typ dat, která lze uložit, například řetězec, datum a čas nebo pole.
- Struktura: Uspořádání polí, například vnořených struktur nebo polí
Schémata definují kontrakt mezi producenty a spotřebiteli. Schéma definované v registru schématu služby Event Hubs pomáhá spravovat kontrakt mimo data událostí, což eliminuje režijní náklady na datovou část.
Formáty schématu
Formáty schématu se používají k určení způsobu, jakým je schéma strukturované a definované. Každý formát popisuje konkrétní pokyny a syntaxi pro definování struktury událostí, které se používají pro streamování událostí.
Schéma Avro
Apache Avro je oblíbený systém serializace dat, který používá kompaktní binární formát a poskytuje možnosti vývoje schématu.
Další informace o použití formátu schématu Avro s registrem schématu služby Event Hubs najdete tady:
- Jak používat registr schématu se systémem Kafka a Avro
- Použití registru schématu se službou Event Hubs, .NET, sadou SDK (AMQP) a Avro
Schéma JSON
Schéma JSON (JavaScript Object Notation) je standardizovaný způsob definování struktury a datových typů událostí. Schéma JSON umožňuje spolehlivé a spolehlivé použití formátu dat JSON při streamování událostí.
Další informace o použití formátu schématu JSON s registrem schématu služby Event Hubs najdete v tématu Použití registru schématu se schématem Kafka a schématem JSON.
Vyrovnávací paměti protokolů
Vyrovnávací paměti protokolu (Protobuf) je jazykově neutrální, platformově neutrální, rozšiřitelný mechanismus pro serializaci strukturovaných dat. Slouží k efektivnímu definování datových struktur a jejich serializaci do kompaktního binárního formátu.
Skupiny schémat
Skupiny schémat jsou logické skupiny podobných schémat uspořádaných podle vašich obchodních kritérií. Skupina schématu obsahuje:
- Více definic schématu.
- Více verzí konkrétního schématu
- Metadata týkající se typu schématu a kompatibility pro všechna schémata ve skupině.
Skupinu schématu si můžete představit jako podmnožinu registru schématu, která je v souladu s konkrétní aplikací nebo organizační jednotkou a samostatným autorizačním modelem. Tato dodatečná hranice zabezpečení pomáhá zajistit, aby metadata a obchodní tajemství nevrácely v modelu sdílených služeb. Umožňuje také vlastníkům aplikací spravovat schémata nezávisle na jiných aplikacích, které sdílejí stejný obor názvů.
Vývoj schématu
Schémata se musí vyvíjet s obchodním požadavkem výrobců a spotřebitelů. Registr schémat podporuje vývoj schémat tím, že zavádí režimy kompatibility na úrovni skupiny schématu. Při vytváření skupiny schémat můžete určit režim kompatibility schémat, která do této skupiny schématu zahrnete. Při aktualizaci schématu musí změna splňovat přiřazený režim kompatibility, aby mohl vytvořit novou verzi schématu.
Vývoj schématu je podporován pouze pro formát schématu Avro.
Registr schématu je podporován v následujících režimech kompatibility.
Zpětná kompatibilita
Režim zpětné kompatibility umožňuje uživatelskému kódu používat novou verzi schématu a zpracovávat zprávy se starou verzí schématu. Režim zpětné kompatibility umožňuje provádět ve schématu následující změny:
- Odstranění polí
- Přidání volitelných polí
Přesměrová kompatibilita
Přesměrová kompatibilita umožňuje uživatelskému kódu používat starou verzi schématu a číst zprávy s novým schématem. Režim kompatibility předávání umožňuje provádět ve schématu následující změny:
- Přidat pole
- Odstranění volitelných polí
Žádná kompatibilita
None
Při použití režimu kompatibility nekontroluje registr schémat při aktualizaci schémat žádné kontroly kompatibility.
Klientské sady SDK
K zahrnutí serializátoru Avro můžete použít jednu z následujících knihoven. Serializátory Avro můžete použít k serializaci a deserializaci datových částí, které obsahují identifikátory schématu pro registr schématu a data s kódováním Avro:
Programovací jazyk | Sada SDK | Ukázky |
---|---|---|
.NET | Microsoft.Azure.Data.SchemaRegistry.ApacheAvro | Ukázky .NET |
Java | azure-data-schemaregistry-avro | Ukázky Java |
Python | azure-schemaregistry-avroserializer | Ukázky Pythonu |
JavaScript | @azure/schema-registry-avro | Ukázky NodeJS |
Kromě toho jsou na základě vašich úloh k dispozici také následující knihovny.
- Apache Kafka: Spouštění serializátorů Avro integrovaných systémem Kafka a deserializerů založených na registru schémat. Serializátor klienta Apache Kafka klienta Javy pro registr schémat lze použít v libovolném scénáři Apache Kafka a s jakýmkoli nasazením nebo cloudovou službou založenou na Platformě Apache Kafka.
- Azure CLI: Příklad přidání schématu do skupiny schémat pomocí Azure CLI najdete v tématu Přidání schématu do skupiny schémat pomocí Azure CLI.
- PowerShell: Příklad přidání schématu do skupiny schémat pomocí PowerShellu najdete v tématu Přidání schématu do skupiny schématu pomocí PowerShellu.
Omezení
Omezení (například počet schémat, která můžete použít v oboru názvů) služby Event Hubs, najdete v tématu Kvóty a limity služby Event Hubs.
Řízení přístupu na základě rolí Azure
Pokud chcete získat přístup k registru schématu prostřednictvím kódu programu, postupujte takto:
- Zaregistrujte aplikaci v Microsoft Entra ID.
- Přidejte objekt zabezpečení aplikace do jedné z následujících rolí řízení přístupu na základě role v Azure (RBAC) na úrovni oboru názvů.
Role | Popis |
---|---|
Vlastník | Čtení, zápis a odstranění skupin a schémat schématu |
Přispěvatel | Čtení, zápis a odstranění skupin a schémat schématu |
Čtenář registru schématu | Čtení a výpis skupin a schémat schémat schémat |
Přispěvatel registru schématu | Čtení, zápis a odstranění skupin a schémat schématu |
Informace o tom, jak vytvořit a zaregistrovat aplikaci pomocí webu Azure Portal, najdete v tématu Registrace aplikace v Microsoft Entra ID. Potřebujete ID klienta (ID aplikace), ID tenanta a tajný klíč pro použití v kódu.
Související obsah
- Informace o vytvoření registru schémat pomocí webu Azure Portal najdete v tématu Vytvoření registru schématu služby Event Hubs pomocí webu Azure Portal.
- Projděte si následující ukázky z klientské knihovny Registru schématu Avro: