Sémaregisztrációs adatbázis az Azure Event Hubsban
Az Azure Event Hubs sémaregisztrációs adatbázisának számos előnye van. A sémaregisztrációs adatbázis segít fenntartani az adatkonzisztenciát, egyszerűsíteni a sémafejlődést, fokozza az együttműködési képességet, és csökkenti a lazán összekapcsolt és eseménystreamelési munkafolyamatok fejlesztési erőfeszítéseit. A sémákhoz központosított adattárat alkalmazó nagy elosztott szervezetek a Sémaregisztrációs adatbázis használatával rendkívül megbízható adatfeldolgozást és szabályozást érhetnek el, kevés működési többletterhelés mellett.
Az Azure Event Hubs sémaregisztrációs adatbázisai számos szerepkört töltenek be sémaalapú eseménystreamelési forgatókönyvekben:
- Adjon meg egy adattárat, ahol több séma regisztrálható, felügyelhető és fejleszthető
- Sémafejlődés kezelése több kompatibilitási szabmánnyal
- Adatérvényesítés végrehajtása az összes sémaalapú adat esetében
- Ügyféloldali kódtárak (szerializálók és deszerializálók) biztosítása a gyártók és a fogyasztók számára
- A hálózati átviteli sebesség hatékonyságának javítása a sémaazonosító átadásával minden hasznos adat sémadefiníciója helyett
Az Azure Event Hubs sémaregisztrációs adatbázisai standard, prémium és dedikált szinteken támogatottak.
Sémaregisztrációs adatbázis összetevői
A sémaregisztrációs adatbázis az Event Hubs-névtér része, de más üzenet- vagy eseményszervezőkkel is használható, beleértve az Azure-üzenetkezelési szolgáltatásokat is. Több sémacsoportból áll, amelyek a sémák logikai csoportosításaként működnek, és más sémacsoportoktól függetlenül kezelhetők.
Sémák
Minden lazán összekapcsolt rendszerben több alkalmazás kommunikál, elsősorban adatokon keresztül. A sémák deklaratív módon határozzák meg az adatok szerkezetét. Ennek eredményeképpen a gyártói és a fogyasztói alkalmazások közötti szerződés jól meghatározott, így nagy méretekben megbízható feldolgozást biztosít.
A sémadefiníció a következőket tartalmazza:
- Mezők: Egyéni adatelemek, például név, könyvcím vagy cím.
- Adattípusok: A tárolható adatok típusa, például sztring, dátum-idő vagy tömb.
- Struktúra: A mezők rendszerezése, például beágyazott struktúrák vagy tömbök.
A sémák határozzák meg a termelők és a fogyasztók közötti szerződést. Az Event Hubs-sémaregisztrációs adatbázisban definiált séma segít kezelni a szerződést az eseményadatokon kívül, ami eltávolítja a hasznos terhelést.
Sémaformátumok
A sémaformátumok a séma strukturált és definiált módjának meghatározására szolgálnak. Minden formátum konkrét irányelveket és szintaxist vázol fel az eseménystreameléshez használt események szerkezetének meghatározásához.
Avro-séma
Az Apache Avro egy népszerű adatszerializálási rendszer, amely kompakt bináris formátumot használ, és sémafejlődési képességeket biztosít.
Az Avro-sémaformátum Event Hubs-sémaregisztrációs adatbázissal való használatáról a következő témakörben olvashat bővebben:
- Sémaregisztrációs adatbázis használata a Kafkával és az Avro-val
- Sémaregisztrációs adatbázis használata az Event Hubs, a .NET, az SDK (AMQP) és az Avro használatával
JSON-séma
A JSON -séma (JavaScript Object Notation) szabványosított módszer az események szerkezetének és adattípusainak meghatározására. A JSON-séma lehetővé teszi a JSON-adatformátum magabiztos és megbízható használatát az eseménystreamelésben.
Ha többet szeretne tudni a JSON-sémaformátum Event Hubs-sémaregisztrációs adatbázissal való használatáról, olvassa el a Sémajegyzék használata a Kafkával és a JSON-sémával című témakört.
Protokollpufferek
A protokollpufferek (Protobuf) egy nyelvsemleges, platformsemleges, bővíthető mechanizmus a strukturált adatok szerializálására. Az adatstruktúrák hatékony meghatározására és kompakt bináris formátumba való szerializálására szolgál.
Sémacsoportok
A sémacsoportok hasonló sémák logikai csoportjai, amelyek az üzleti feltételeknek megfelelően vannak rendszerezve. Egy sémacsoport a következőt tartalmazza:
- Több sémadefiníció.
- Egy adott séma több verziója.
- A csoport összes sémájának sématípusával és kompatibilitásával kapcsolatos metaadatok.
A sémacsoportokat a sémaregisztrációs adatbázis egy részhalmazaként tekintheti, amely egy adott alkalmazáshoz vagy szervezeti egységhez igazodik egy külön engedélyezési modellel. Ez a további biztonsági határ segít biztosítani, hogy a metaadatok és az üzleti titkok ne szivároghassanak ki a megosztott szolgáltatások modelljében. Emellett lehetővé teszi, hogy az alkalmazástulajdonosok a sémákat az azonos névtérrel azonos nevű alkalmazásoktól függetlenül kezeljék.
Sémafejlődés
A sémáknak a gyártók és a fogyasztók üzleti követelményeivel kell fejlődnie. A sémaregisztrációs adatbázis a sémacsoport szintjén a kompatibilitási módok bevezetésével támogatja a sémafejlődést. Sémacsoport létrehozásakor megadhatja az adott sémacsoportba belefoglalt sémák kompatibilitási módját. A séma frissítésekor a módosításnak meg kell felelnie a hozzárendelt kompatibilitási módnak, hogy létrehozhassa a séma új verzióját.
A sémafejlődés csak az Avro sémaformátumban támogatott.
A sémaregisztrációs adatbázis a következő kompatibilitási módokban támogatott.
Visszamenőleges kompatibilitás
A visszamenőleges kompatibilitási mód lehetővé teszi, hogy a fogyasztói kód egy séma új verzióját használja, és feldolgozhassa az üzeneteket a séma egy régi verziójával. A visszamenőleges kompatibilitási mód a következő módosításokat teszi lehetővé egy sémán:
- Mezők törlése
- Választható mezők hozzáadása
Kompatibilitás továbbítása
A továbbítási kompatibilitás lehetővé teszi, hogy a fogyasztói kód egy régi sémaverziót használjon, és üzeneteket olvasson az új sémával. A továbbítási kompatibilitási mód a következő módosításokat teszi lehetővé egy sémán:
- Mezők hozzáadása
- Nem kötelező mezők törlése
Nincs kompatibilitás
A kompatibilitási mód használata esetén a None
sémaregisztrációs adatbázis nem végez kompatibilitás-ellenőrzést a sémák frissítésekor.
Ügyfél-SDK-k
Az alábbi kódtárak egyikével Avro szerializálót is tartalmazhat. Az Avro szerializálókkal szerializálhatja és deszerializálhatja a sémaregisztrációs adatbázishoz és az Avro által kódolt adatokhoz tartozó sémaazonosítókat tartalmazó hasznos adatokat:
Programozási nyelv | SDK | Példák |
---|---|---|
.NET | Microsoft.Azure.Data.SchemaRegistry.ApacheAvro | .NET-minták |
Java | azure-data-schemaregistry-avro | Java-példák |
Python | azure-schemaregistry-avroserializer | Python-példák |
JavaScript | @azure/schema-registry-avro | NodeJS-minták |
Emellett az alábbi kódtárak a számítási feladatok alapján is elérhetők.
- Apache Kafka: Futtassa a Sémaregisztrációs adatbázis által támogatott Kafka-integrált Avro szerializálókat és deszerializálókat. A Java-ügyfél Apache Kafka-ügyfél szerializálója a sémaregisztrációs adatbázishoz bármely Apache Kafka-forgatókönyvben és bármely Apache Kafka-alapú üzembe helyezési vagy felhőszolgáltatásban használható.
- Azure CLI: Ha sémát szeretne hozzáadni egy sémacsoporthoz az Azure CLI használatával, tekintse meg a séma hozzáadása sémacsoporthoz az Azure CLI használatával című témakört.
- PowerShell: Ha egy sémát szeretne hozzáadni egy sémacsoporthoz a PowerShell használatával, olvassa el a Séma hozzáadása sémacsoporthoz a PowerShell használatával című témakört.
Korlátok
Az Event Hubs korlátait (például a névtérben használható sémák számát) az Event Hubs kvótái és korlátai című témakörben találja.
Azure szerepköralapú hozzáférés-vezérlő
A sémaregisztrációs adatbázis programozott eléréséhez kövesse az alábbi lépéseket:
- Regisztrálja az alkalmazást a Microsoft Entra-azonosítóban.
- Adja hozzá az alkalmazás biztonsági tagját az alábbi Azure-szerepköralapú hozzáférés-vezérlési (RBAC) szerepkörök egyikéhez a névtér szintjén.
Szerepkör | Leírás |
---|---|
Tulajdonos | Sémaregisztrációs csoportok és sémák olvasása, írása és törlése |
Közreműködő | Sémaregisztrációs csoportok és sémák olvasása, írása és törlése |
Sémaregisztrációs adatbázis olvasója | Sémaregisztrációs csoportok és sémák olvasása és listázása |
Sémaregisztrációs adatbázis közreműködője | Sémaregisztrációs csoportok és sémák olvasása, írása és törlése |
Ha tudni szeretné, hogyan hozhat létre és regisztrálhat alkalmazásokat az Azure Portal használatával, olvassa el az alkalmazás regisztrálása a Microsoft Entra-azonosítóval című témakört. Szüksége van az ügyfél-azonosítóra (alkalmazásazonosítóra), a bérlőazonosítóra és a kódban használni kívánt titkos kódra.
Kapcsolódó tartalom
- Ha tudni szeretné, hogyan hozhat létre sémaregisztrációs adatbázist az Azure Portal használatával, olvassa el az Event Hubs sémaregisztrációs adatbázisának létrehozását az Azure Portal használatával.
- Tekintse meg a sémaregisztrációs adatbázis Avro ügyfélkódtárának alábbi mintáit: