Sdílet prostřednictvím


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.

Diagram znázorňující komponenty registru schématu ve službě Azure Event Hubs

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:

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.

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:

  1. Zaregistrujte aplikaci v Microsoft Entra ID.
  2. 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.