Registr schématu ve službě Azure Event Hubs
Registr schématu je zásadní ve volně propojených pracovních postupech streamování událostí pro zachování konzistence dat, zjednodušení vývoje schématu, zlepšení interoperability a snížení úsilí o vývoj. Zajišťuje vysoce spolehlivé zpracování dat a zásady správného řízení s malou provozní režií ve velkých distribuovaných organizacích s centralizovaným úložištěm pro schémata.
Registr schématu ve službě Azure Event Hubs splňuje několik rolí ve scénářích streamování událostí řízených schématem –
- Poskytuje úložiště, ve kterém je možné zaregistrovat, spravovat a vyvíjet více schémat.
- Vývoj spravovaného schématu s několika pravidly kompatibility
- Provede ověření dat pro všechna schématizovaná data.
- Poskytuje knihovny na straně klienta (serializátory a deserializátory) pro producenty a uživatele.
- Zlepšuje efektivitu propustnosti sítě předáním ID schématu místo definice schématu pro každou datovou část.
Poznámka:
Registr schématu se podporuje na úrovních Standard, Premium a Dedicated.
Součásti registru schématu
Registr schématu se nachází v kontextu oboru názvů služby Event Hubs, ale dá se použít se všemi službami zasílání zpráv Azure nebo jinými zprostředkovateli zpráv nebo událostí. 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ě existuje několik aplikací, které vzájemně komunikují, především prostřednictvím dat. Schémata fungují jako deklarativní způsob definování struktury dat tak, aby byl kontrakt mezi těmito aplikacemi producenta a příjemce dobře definovaný a zajistil spolehlivé zpracování ve velkém měřítku.
Definice schématu zahrnuje :
- Pole – název jednotlivých datových prvků (to znamená jméno/příjmení, název knihy, adresa).
- Datové typy – druh dat, která lze uložit do každého pole (například řetězec, datum a čas, pole).
- Struktura – uspořádání různých polí (to znamená 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í, čímž se odeberou 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é, přičemž každý formát obsahuje specifické pokyny a syntaxi pro definování struktury událostí, které se použijí pro streamování událostí.
Schéma Avro
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émat služby Event Hubs najdete tady:
- Jak používat registr schématu se systémem Kafka a Avro
- Jak používat registr schématu se sadou Event Hubs .NET SDK (AMQP) a Avro
Schéma JSON
Schéma JSON 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émat služby Event Hubs najdete tady:
Protobuf
Vyrovnávací paměti protokolu jsou 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 na základě vašich obchodních kritérií. Skupina schématu obsahuje
- více definic schématu,
- více verzí konkrétního schématu a
- metadata týkající se typu schématu a kompatibility pro všechna schémata ve skupině.
Skupiny schémat lze považovat za podmnožinu registru schématu v souladu s konkrétní aplikací nebo organizační jednotkou s samostatným autorizačním modelem. Tato dodatečná hranice zabezpečení zajišťuje, že v modelu sdílených služeb, metadatech a obchodních tajných kódech nebudou úniky. Umožňuje také vlastníkům aplikací spravovat schémata nezávislá 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ů. Azure Schema Registry podporuje vývoj schémat tím, že zavádí režimy kompatibility na úrovni skupiny schémat. 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 by změna měla vyhovovat režimu kompatibility přiřazené a pak pouze vytvoří novou verzi schématu.
Poznámka:
Vývoj schématu je podporován pouze pro formát schématu Avro.
Azure Schema Registry pro službu Event Hubs podporuje následující režimy kompatibility.
Zpětná kompatibilita
Režim zpětné kompatibility umožňuje uživatelskému kódu používat novou verzi schématu, ale může zpracovávat zprávy se starou verzí schématu. Pokud ve skupině schémat používáte režim zpětné kompatibility, umožňuje provádět v schématu následující změny.
- Odstranění polí.
- Přidejte volitelná pole.
Přesměrová kompatibilita
Předávat kompatibilitu umožňuje uživatelskému kódu používat starou verzi schématu, ale může číst zprávy s novým schématem. Režim kompatibility vpřed umožňuje provádět následující změny ve schématu.
- Přidat pole
- Odstranění volitelných polí
Žádná kompatibilita
None
Při použití režimu kompatibility registr schématu při aktualizaci schémat neprovádí žádné kontroly kompatibility.
Klientské sady SDK
Pomocí jedné z následujících knihoven můžete zahrnout serializátor Avro, který můžete použít k serializaci a deserializaci datových částí obsahujících identifikátory schématu schématu a data s kódováním Avro.
- .NET – Microsoft.Azure.Data.SchemaRegistry.ApacheAvro
- Java – azure-data-schemaregistry-avro
- Python – azure-schemaregistry-avroserializer
- JavaScript - @azure/schema-registry-avro
- Apache Kafka – Spouštění serializátorů Apache Avro integrovaných systémem Kafka a deserializerů založených na službě Azure Schema Registry Serializátor klienta Apache Kafka v Javě pro registr schémat Azure lze použít v jakémkoli 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í rozhraní příkazového řádku najdete v tématu Přidání schématu do skupiny schémat pomocí rozhraní příkazového řádku.
- 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émat pomocí PowerShellu.
Omezení
Omezení (například počet skupin schémat 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:
- Registrace aplikace v Microsoft Entra ID
- Přidejte objekt zabezpečení aplikace do jedné z následujících rolí Azure RBAC (řízení přístupu na základě role) na úrovni oboru názvů .
Role | Popis |
---|---|
Vlastník | Čtení, zápis a odstranění skupin a schémat registru schémat |
Přispěvatel | Čtení, zápis a odstranění skupin a schémat registru schémat |
Čtenář registru schématu | Přečtěte si a vypíšete skupiny a schémata registru schématu. |
Přispěvatel registru schématu | Čtení, zápis a odstranění skupin a schémat registru schémat |
Pokyny k vytvoření registrace aplikace pomocí webu Azure Portal najdete v tématu Registrace aplikace s ID Microsoft Entra. Poznamenejte si ID klienta (ID aplikace), ID tenanta a tajný klíč, který se má v kódu použít.
Další kroky
- 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.
- Podívejte se na následující ukázky klientské knihovny registru schématu Avro.