Registre de schémas dans Azure Event Hubs
Le Registre de schémas dans Azure Event Hubs vous fournit un référentiel pour utiliser et gérer des schémas dans des scénarios de streaming d’événements pilotés par schéma.
Remarque
Le registre de schéma n’est pas pris en charge sur le niveau De base.
Composants du Registre de schémas
Un espace de noms Event Hubs peut héberger des groupes de schémas parallèlement aux Event Hubs (ou rubriques Kafka). Il héberge un registre de schémas et peut comporter plusieurs groupes de schémas. En dépit de l’hébergement dans Azure Event Hubs, le registre de schémas peut être utilisé de manière universelle avec tous les services de messagerie Azure et tout autre message ou répartiteur d’événements. Chacun de ces groupes de schémas est un référentiel sécurisable distinct pour un ensemble de schémas. Les groupes peuvent être alignés sur une application ou une unité d’organisation particulière.
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 peut contenir plusieurs versions d’un schéma. Le paramètre de mise en œuvre de la compatibilité sur un groupe de schémas peut assurer la compatibilité descendante des versions de schéma plus récentes.
La limite de sécurité imposée par le mécanisme de regroupement permet de s’assurer que les secrets commerciaux ne fuient pas par inadvertance à travers les métadonnées dans des situations où l’espace de noms est partagé entre plusieurs partenaires. 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.
Schémas
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. Un schéma a un nom, un type (exemple : enregistrement, tableau, etc.), le mode de compatibilité (aucune, compatibilité ascendante, compatibilité descendante, totale) et le type de sérialisation (Avro et JSON). Vous pouvez créer plusieurs versions d’un schéma et récupérer et utiliser une version spécifique d’un schéma.
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 :
- Comment utiliser le registre de schémas avec Kafka et Avro
- Comment utiliser le Registre de schémas avec le kit de développement logiciel (SDK) .NET d’Event Hubs (AMQP) et Avro.
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 :
É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.
- .NET - Microsoft.Azure.Data.SchemaRegistry.ApacheAvro
- Java - azure-data-schemaregistry-avro
- Python - azure-schemaregistry-avroserializer
- JavaScript - @azure/schema-registry-avro
- Apache Kafka - Exécuter des sérialiseurs et des désérialiseurs Apache Avro intégrés sauvegardés par des registres de schémas Azure. Le sérialiseur client Apache Kafka du client Java pour le registre de schémas Azure peut être utilisé dans n’importe quel scénario Apache Kafka et avec un déploiement Apache Kafka® ou un service cloud.
- Azure CLI : Pour obtenir un exemple d’ajout d’un schéma à un groupe de schémas à l’aide de l’interface CLI, consultez Ajout d’un schéma à un groupe de schémas à l’aide de l’interface CLI.
- PowerShell : Pour obtenir un exemple d’ajout d’un schéma à un groupe de schémas à l’aide de PowerShell, consultez Ajout d’un schéma à un groupe de schémas à l’aide de PowerShell.
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 :
- Inscrire votre application dans Microsoft Entra ID
- 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
- Pour savoir comment créer un registre de schémas à l’aide du portail Azure, consultez Créer un registre de schémas Event Hubs à l’aide du portail Azure.
- Reportez-vous aux exemples suivants de la Bibliothèque client Avro de registre de schémas.