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
- Un Kit de développement Java (JDK), version 8 ou ultérieure.
- Abonnement Azure
- Un espace de noms Event Hubs
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.