Partager via


Registre de schémas dans Azure Event Hubs

Le Registre de schémas est essentiel dans les flux de travail de diffusion en continu d’événements et faiblement couplés pour maintenir la cohérence des données, simplifier l’évolution du schéma, améliorer l’interopérabilité et réduire les efforts de développement. Il garantit un traitement et une gouvernance des données hautement fiables avec peu de surcharge opérationnelle dans les grandes organisations distribuées avec un référentiel centralisé pour les schémas.

Le Registre de schémas dans Azure Event Hubs remplit plusieurs rôles dans les scénarios de diffusion en continu d’événements pilotés par le schéma :

  • Fournit un référentiel où plusieurs schémas peuvent être inscrits, gérés et évolués.
  • Évolution du schéma managé avec plusieurs règles de compatibilité.
  • Effectue la validation des données pour toutes les données schématisées.
  • Fournit des bibliothèques côté client (sérialiseurs et désérialiseurs) pour les producteurs et les consommateurs.
  • Améliore l’efficacité du débit réseau en passant l’ID de schéma au lieu de la définition de schéma pour chaque charge utile.

Remarque

Le Registre de schémas est pris en charge sur les niveaux Standard, Premium et Dédié.

Composants du Registre de schémas

Le Registre de schémas réside dans le contexte de l’espace de noms Event Hubs, mais il peut être utilisé avec tous les services de messagerie Azure ou tout autre répartiteur de messages ou d’événements. Il comprend plusieurs groupes de schémas qui agissent comme un regroupement logique de schémas et peuvent être gérés indépendamment d’autres groupes de schémas.

Diagramme présentant les composants du Registre de schémas dans Azure Event Hubs.

Schémas

Dans n’importe quel système faiblement couplé, plusieurs applications communiquent entre elles, principalement par le biais de données. Les schémas agissent comme un moyen déclaratif de définir la structure des données afin que le contrat entre ces applications de producteur et de consommateur soit bien défini, garantissant ainsi un traitement fiable à grande échelle.

Une définition de schéma inclut :

  • Des champs : nom des éléments de données individuels (c’est-à-dire, prénom/nom, titre du livre, adresse).
  • Des types de données : type de données qui peuvent être stockées dans chaque champ (par exemple, chaîne, date-heure, tableau).
  • Une structure : organisation des différents champs (c’est-à-dire des structures ou des tableaux imbriqués).

Les schémas définissent le contrat entre les producteurs et les consommateurs. Un schéma défini dans un registre de schémas Event Hubs permet de gérer le contrat en dehors des données d’événement, ce qui supprime la surcharge de charge utile.

Formats de schéma

Les formats de schéma sont utilisés pour déterminer la façon dont un schéma est structuré et défini, chaque format décrivant des instructions et une syntaxe spécifiques permettant de définir la structure des événements qui seront utilisés pour la diffusion en continu d’événements.

Schéma Avro

Avro est un système populaire de sérialisation de données qui utilise un format binaire compact et offre des fonctionnalités d’évolution de schéma.

Pour en savoir plus sur l’utilisation du format de schéma Avro avec le Registre de schémas d’Event Hubs, consultez :

Schéma JSON

Le schéma JSON est un moyen standardisé de définir la structure et les types de données des événements. Le schéma JSON permet une utilisation sûre et fiable du format de données JSON dans la diffusion en continu des événements.

Pour en savoir plus sur l’utilisation du format de schéma JSON avec le Registre de schémas d’Event Hubs, consultez :

Protobuf

Les mémoires tampons de protocole sont un mécanisme extensible indépendant de la langue, de la plateforme et extensible pour sérialiser des données structurées. Il est utilisé pour définir efficacement les structures de données et les sérialiser dans un format binaire compact.

Groupes de schémas

Le groupe de schémas est un groupe logique de schémas similaires basés sur les critères de votre entreprise. Un groupe de schémas contient

  • plusieurs définitions de schéma,
  • plusieurs versions d’un schéma spécifique et
  • des métadonnées concernant le type de schéma et la compatibilité pour tous les schémas du groupe.

Un groupe de schémas peut être considéré comme un sous-ensemble du registre de schémas, aligné sur une application ou une unité organisationnelle particulière, avec un modèle d’autorisation distinct. Cette limite de sécurité supplémentaire garantit que dans le modèle de services partagés, les métadonnées et les secrets commerciaux ne sont pas divulguées. Cela permet également aux propriétaires d’applications de gérer les schémas indépendamment d’autres applications qui partagent le même espace de noms.

Évolution du schéma

Les schémas doivent évoluer en fonction des besoins de l’entreprise des producteurs et des consommateurs. Le registre de schéma Azure prend en charge l’évolution du schéma en introduisant des modes de compatibilité au niveau du groupe de schémas. Lorsque vous créez un groupe de schémas, vous pouvez spécifier le mode de compatibilité des schémas que vous incluez dans ce groupe de schémas. Lorsque vous mettez à jour un schéma, la modification doit se conformer au mode de compatibilité affecté, puis elle crée uniquement une nouvelle version du schéma.

Notes

L’évolution du schéma est uniquement prise en charge pour le format de schéma Avro.

Le registre de schéma Azure pour Event Hubs prendre en charge les modes de compatibilité suivants.

Compatibilité descendante

Le mode de compatibilité descendante permet au code du consommateur d’utiliser une nouvelle version du schéma, mais il peut traiter les messages avec l’ancienne version du schéma. Lorsque vous utilisez le mode de compatibilité descendante dans un groupe de schémas, les modifications suivantes peuvent être apportées à un schéma.

  • Supprimer des champs.
  • Ajouter des champs facultatifs.

Compatibilité ascendante

La compatibilité ascendante permet au code du consommateur d’utiliser une ancienne version du schéma, mais il peut lire les messages avec le nouveau schéma. Le mode de compatibilité ascendante permet d’effectuer les modifications suivantes sur un schéma.

  • Ajouter des champs
  • Supprimer les champs facultatifs

Aucune compatibilité

Lorsque le mode de compatibilité None est utilisé, le registre de schémas n’effectue aucune vérification de compatibilité lorsque vous mettez à jour des schémas.

Kits de développement logiciel (SDK) client

Vous pouvez utiliser l’une des bibliothèques suivantes qui incluent un sérialiseur Avro, qui vous permettent de sérialiser et désérialiser des charges utiles contenant des identificateurs de schéma Schema Registry et des données encodées Avro.

limites

Pour connaître les limites (par exemple, le nombre de groupes de schémas dans un espace de noms) d’Event Hubs, consultez Quotas et limites d’Azure Event Hubs.

Contrôle d’accès en fonction du rôle Azure

Pour accéder à un registre de schémas par programme, procédez comme suit :

  1. Inscrire votre application dans Microsoft Entra ID
  2. Ajoutez le principal de sécurité de l’application à l’un des rôles Azure RBAC (contrôle d’accès en fonction du rôle) suivants au niveau de l’espace de noms.
Rôle Description
Propriétaire Lire, écrire et supprimer des groupes de registres de schémas et des schémas.
Contributeur Lire, écrire et supprimer des groupes de registres de schémas et des schémas.
Lecteur du registre de schémas Lire et répertorier les groupes de registres de schémas et les schémas.
Contributeur du registre de schémas Lire, écrire et supprimer des groupes de registres de schémas et des schémas.

Pour obtenir des instructions sur la création et l’inscription d’une application à l’aide du portail Azure, consultez Inscrire une application avec Microsoft Entra ID. Notez l’ID client (ID d’application), l’ID de locataire et le secret à utiliser dans le code.

Étapes suivantes