Partager via


Bibliothèque cliente Azure Schema Registry pour Java - version 1.3.10

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 applications pour réduire la taille de la charge utile tout en décrivant la structure de la charge utile avec des identificateurs de schéma plutôt que des schémas complets.

| Code sourcePackage (Maven) | Documentation de référence sur les | APIDocumentation | produitÉchantillons

Prise en main

Prérequis

Inclure le package

Inclure le fichier de nomenclature

Incluez azure-sdk-bom dans votre projet pour dépendre de la version de disponibilité générale de la bibliothèque. Dans l’extrait de code suivant, remplacez l’espace réservé {bom_version_to_target} par le numéro de version. Pour en savoir plus sur la nomenclature, consultez le README BOM du KIT DE DÉVELOPPEMENT LOGICIEL AZURE.

<dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>com.azure</groupId>
            <artifactId>azure-sdk-bom</artifactId>
            <version>{bom_version_to_target}</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>
    </dependencies>
</dependencyManagement>

puis incluez la dépendance directe dans la section dépendances sans la balise de version, comme indiqué ci-dessous.

<dependencies>
    <dependency>
        <groupId>com.azure</groupId>
        <artifactId>azure-data-schemaregistry</artifactId>
    </dependency>
</dependencies>

Inclure une dépendance directe

Si vous souhaitez dépendre d’une version particulière de la bibliothèque qui n’est pas présente dans la nomenclature, ajoutez la dépendance directe à votre projet comme suit.

<dependency>
  <groupId>com.azure</groupId>
  <artifactId>azure-data-schemaregistry</artifactId>
  <version>1.3.10</version>
</dependency>

Authentifier le client

Pour interagir avec le service Azure Schema Registry, vous devez créer un instance de la SchemaRegistryClient classe via le SchemaRegistryClientBuilder. Vous aurez besoin d’un point de terminaison et d’une clé API pour instancier un objet client.

Créer schemaRegistryClient avec les informations d’identification Azure Active Directory

Vous pouvez vous authentifier auprès d’Azure Active Directory à l’aide de la bibliothèque Azure Identity. Notez que les points de terminaison régionaux ne prennent pas en charge l’authentification AAD. Créez un sous-domaine personnalisé pour votre ressource afin d’utiliser ce type d’authentification.

Pour utiliser le fournisseur DefaultAzureCredential indiqué ci-dessous ou d’autres fournisseurs d’informations d’identification fournis avec le Kit de développement logiciel (SDK) Azure, incluez le azure-identity package :

<dependency>
    <groupId>com.azure</groupId>
    <artifactId>azure-identity</artifactId>
    <version>1.10.1</version>
</dependency>

Vous devez également inscrire une nouvelle application AAD et accorder l’accès au service Registre de schémas.

Définissez les valeurs de l’ID client, de l’ID de locataire et de la clé secrète client de l’application AAD en tant que variables d’environnement : AZURE_CLIENT_ID, AZURE_TENANT_ID AZURE_CLIENT_SECRET.

Client asynchrone
DefaultAzureCredential azureCredential = new DefaultAzureCredentialBuilder()
    .build();
SchemaRegistryAsyncClient client = new SchemaRegistryClientBuilder()
    .fullyQualifiedNamespace("https://<your-schema-registry-endpoint>.servicebus.windows.net")
    .credential(azureCredential)
    .buildAsyncClient();
Synchroniser le client
DefaultAzureCredential azureCredential = new DefaultAzureCredentialBuilder()
    .build();
SchemaRegistryClient client = new SchemaRegistryClientBuilder()
    .fullyQualifiedNamespace("https://<your-schema-registry-endpoint>.servicebus.windows.net")
    .credential(azureCredential)
    .buildClient();

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.
  • Type de sérialisation : 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.

Exemples

Inscrire un schéma

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

String schema = "{\"type\":\"enum\",\"name\":\"TEST\",\"symbols\":[\"UNIT\",\"INTEGRATION\"]}";
SchemaProperties properties = client.registerSchema("{schema-group}", "{schema-name}", schema,
    SchemaFormat.AVRO);

System.out.printf("Schema id: %s, schema format: %s%n", properties.getId(), properties.getFormat());

Récupérer les propriétés d’un schéma

Récupérez les propriétés d’un schéma précédemment inscrit à partir du registre de schémas Azure.

SchemaRegistrySchema schema = client.getSchema("{schema-id}");

System.out.printf("Schema id: %s, schema format: %s%n", schema.getProperties().getId(),
    schema.getProperties().getFormat());
System.out.println("Schema contents: " + schema.getDefinition());

Récupérer un schéma

Récupérez le contenu et les propriétés d’un schéma précédemment inscrit à partir du registre de schémas Azure.

String schemaContent = "{\n"
    + "    \"type\" : \"record\",  \n"
    + "    \"namespace\" : \"SampleSchemaNameSpace\", \n"
    + "    \"name\" : \"Person\", \n"
    + "    \"fields\" : [\n"
    + "        { \n"
    + "            \"name\" : \"FirstName\" , \"type\" : \"string\" \n"
    + "        }, \n"
    + "        { \n"
    + "            \"name\" : \"LastName\", \"type\" : \"string\" \n"
    + "        }\n"
    + "    ]\n"
    + "}";
SchemaProperties properties = client.getSchemaProperties("{schema-group}", "{schema-name}",
    schemaContent, SchemaFormat.AVRO);

System.out.println("Schema id: " + properties.getId());
System.out.println("Format: " + properties.getFormat());
System.out.println("Version: " + properties.getVersion());

Dépannage

Activation de la journalisation

Les kits SDK Azure pour Java offrent un article de journalisation cohérent pour faciliter la résolution des erreurs d’application et accélérer leur résolution. Les journaux produits capturent le flux d’une application avant d’atteindre l’état terminal pour faciliter la localisation du problème racine. Consultez le wiki de journalisation pour obtenir des conseils sur l’activation de la journalisation.

Étapes suivantes

Vous trouverez d’autres exemples ici.

Contribution

Ce projet accepte les contributions et les suggestions. La plupart des contributions vous demandent d’accepter un contrat de licence de contribution (CLA) spécifiant que vous avez le droit de nous accorder les droits d’utiliser votre contribution, et que vous nous les accordez.

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