Megosztás a következőn keresztül:


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.

Diagram egy sémaregisztrációs adatbázis összetevőiről az Azure Event Hubsban.

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:

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:

  1. Regisztrálja az alkalmazást a Microsoft Entra-azonosítóban.
  2. 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.