Bibliothèque de client Azure Schema Registry pour .NET - version 1.3.0

Azure Schema Registry est un service de référentiel de schémas hébergé par Azure Event Hubs, qui fournit le stockage des schémas, le contrôle de version et la gestion. Le registre est utilisé par les sérialiseurs pour réduire la taille de la charge utile tout en décrivant la structure de charge utile avec des identificateurs de schéma plutôt que des schémas complets.

Prise en main

Installer le package

Installez la bibliothèque de client Azure Schema Registry pour .NET avec NuGet :

dotnet add package Azure.Data.SchemaRegistry

Prérequis

Si vous devez créer un espace de noms Event Hubs, vous pouvez utiliser le portail Azure ou Azure PowerShell.

Vous pouvez utiliser Azure PowerShell pour créer l’espace de noms Event Hubs avec la commande suivante :

New-AzEventHubNamespace -ResourceGroupName myResourceGroup -NamespaceName namespace_name -Location eastus

Authentifier le client

Pour interagir avec le service Azure Schema Registry, vous devez créer un instance de la classe Client Schema Registry. Pour créer ce client, vous avez besoin des informations d’identification de ressource Azure et du nom d’hôte de l’espace de noms Event Hubs.

Récupérer les informations d’identification

Pour acquérir des informations d’identification authentifiées et commencer à interagir avec les ressources Azure, consultez le guide de démarrage rapide ici.

Obtenir le nom d’hôte de l’espace de noms Event Hubs

La méthode implique d’utiliser le Portail Azure et d’accéder à votre espace de noms Event Hubs. Sous l’onglet Vue d’ensemble, vous voyez Host name. Copiez la valeur de ce champ.

Créer schemaRegistryClient

Une fois que vous disposez des informations d’identification de la ressource Azure et du nom d’hôte de l’espace de noms Event Hubs, vous pouvez créer le SchemaRegistryClient. Vous aurez également besoin du package Azure.Identity pour créer les informations d’identification.

// Create a new SchemaRegistry client using the default credential from Azure.Identity using environment variables previously set,
// including AZURE_CLIENT_ID, AZURE_CLIENT_SECRET, and AZURE_TENANT_ID.
// For more information on Azure.Identity usage, see: https://github.com/Azure/azure-sdk-for-net/blob/Azure.Data.SchemaRegistry_1.3.0/sdk/identity/Azure.Identity/README.md
var client = new SchemaRegistryClient(fullyQualifiedNamespace: fullyQualifiedNamespace, credential: new DefaultAzureCredential());

Concepts clés

Schémas

Un schéma comporte 6 composants :

  • Nom du groupe : nom du groupe de schémas dans le registre de schémas instance.
  • Nom du schéma : nom du schéma.
  • ID de schéma : ID attribué par le Registre de schémas instance pour le schéma.
  • Format de schéma : format utilisé pour la sérialisation du schéma. Par exemple, Avro.
  • Contenu du schéma : représentation sous forme de chaîne du schéma.
  • Version du schéma : version affectée au schéma dans le Registre de schémas instance.

Ces composants jouent des rôles différents. Certains sont utilisés comme entrée dans les opérations et d’autres sont des sorties. Actuellement, SchemaProperties expose uniquement les propriétés qui sont des sorties potentielles utilisées dans les opérations SchemaRegistry. Ces propriétés exposées sont Content et Id.

Sécurité des threads

Nous garantissons que toutes les méthodes de instance client sont thread-safe et indépendantes les unes des autres (instructions). Cela garantit que la recommandation de réutilisation des instances clientes est toujours sécurisée, même entre les threads.

Concepts supplémentaires

Options | du client Accès à la réponse | Opérations | de longue duréeGestion des défaillances | Diagnostics | Moqueur | Durée de vie du client

Exemples

Voici des exemples de ce qui est disponible via le SchemaRegistryClient. Il existe des méthodes de synchronisation et async disponibles pour ces opérations clientes.

Inscrire un schéma

Inscrivez un schéma à stocker dans le registre de schémas Azure.

string name = "employeeSample";
SchemaFormat format = SchemaFormat.Avro;
// Example schema's definition
string definition = @"
{
   ""type"" : ""record"",
    ""namespace"" : ""TestSchema"",
    ""name"" : ""Employee"",
    ""fields"" : [
    { ""name"" : ""Name"" , ""type"" : ""string"" },
    { ""name"" : ""Age"", ""type"" : ""int"" }
    ]
}";

Response<SchemaProperties> schemaProperties = client.RegisterSchema(groupName, name, definition, format);

Récupérer un ID de schéma

Récupérez un ID de schéma précédemment inscrit à partir du registre de schémas Azure.

string name = "employeeSample";
SchemaFormat format = SchemaFormat.Avro;
// Example schema's content
string content = @"
{
   ""type"" : ""record"",
    ""namespace"" : ""TestSchema"",
    ""name"" : ""Employee"",
    ""fields"" : [
    { ""name"" : ""Name"" , ""type"" : ""string"" },
    { ""name"" : ""Age"", ""type"" : ""int"" }
    ]
}";

SchemaProperties schemaProperties = client.GetSchemaProperties(groupName, name, content, format);
string schemaId = schemaProperties.Id;

Récupérer un schéma

Récupérez le contenu d’un schéma précédemment inscrit à partir du registre de schémas Azure avec un ID de schéma ou le nom du groupe, le nom du schéma et la version.

SchemaRegistrySchema schema = client.GetSchema(schemaId);
string definition = schema.Definition;
SchemaRegistrySchema schema = client.GetSchema(groupName, name, version);
string definition = schema.Definition;

Dépannage

Des informations sur les étapes de résolution des problèmes seront fournies à mesure que les problèmes potentiels seront détectés.

Étapes suivantes

Pour plus d’informations, consultez Registre de schémas Azure .

Contribution

Ce projet accepte les contributions et les suggestions. La plupart des contributions vous demandent d’accepter un contrat de licence de contribution (CLA) déclarant que vous avez le droit de nous accorder, et que vous nous accordez réellement, les droits d’utilisation de votre contribution. Pour plus d’informations, visitez cla.microsoft.com.

Quand vous envoyez une demande de tirage (pull request), un bot CLA détermine automatiquement si vous devez fournir un contrat CLA et agrémenter la demande de tirage de façon appropriée (par exemple, avec une étiquette ou un commentaire). Suivez simplement les instructions fournies par le bot. Vous ne devez effectuer cette opération qu’une seule fois sur tous les dépôts utilisant notre contrat CLA.

Ce projet a adopté le Code de conduite Open Source de Microsoft. Pour plus d’informations, consultez les Questions fréquentes (FAQ) sur le code de conduite ou envoyez vos questions ou vos commentaires à opencode@microsoft.com.

Impressions