Compartir a través de


Biblioteca cliente de Azure Schema Registry para JavaScript: versión 1.2.0

Azure Schema Registry es un servicio de repositorio de esquemas hospedado por Azure Event Hubs, lo que proporciona almacenamiento de esquemas, control de versiones y administración. Los serializadores aprovechan el registro para reducir el tamaño de carga al describir la estructura de carga con identificadores de esquema en lugar de esquemas completos.

Vínculos principales:

Introducción

Requisitos previos

Instalar el paquete @azure/schema-registry

Instale la biblioteca cliente de Azure Text Analytics para JavaScript con npm:

npm install @azure/schema-registry

Crear y autenticar una SchemaRegistryClient

Para crear un objeto de cliente para tener acceso a schema Registry API, necesitará el espacio de nombres completo del recurso del Registro de esquema y un credential. El cliente del Registro de esquema usa credenciales de Azure Active Directory para autenticarse.

Puede autenticarse con Azure Active Directory mediante la biblioteca de identidades de Azure. Para usar el proveedor DefaultAzureCredential que se muestra a continuación u otros proveedores de credenciales proporcionados con el SDK de Azure, instale el @azure/identity paquete:

npm install @azure/identity

Establezca los valores del identificador de cliente, el identificador de inquilino y el secreto de cliente de la aplicación de AAD como variables de entorno: AZURE_CLIENT_ID, , AZURE_TENANT_IDAZURE_CLIENT_SECRET.

const { DefaultAzureCredential } = require("@azure/identity");
const { SchemaRegistryClient } = require("@azure/schema-registry");

const client = new SchemaRegistryClient("<fullyQualifiedNamespace>", new DefaultAzureCredential());

Conceptos clave

SchemaRegistryClient

SchemaRegistryClient proporciona la API para almacenar y recuperar esquemas en el registro de esquemas.

Ejemplos

Registro de un esquema

const { DefaultAzureCredential } = require("@azure/identity");
const { SchemaRegistryClient } = require("@azure/schema-registry");

const client = new SchemaRegistryClient("<fullyQualifiedNamespace>", new DefaultAzureCredential());

const description = {
  name: "<name>",
  groupName: "<group name>",
  format: "<schema format>",
  definition: "<schema definition>"
}

const registered = await client.registerSchema(description);
console.log(registered.id);

Obtención del identificador del esquema existente

const { DefaultAzureCredential } = require("@azure/identity");
const { SchemaRegistryClient } = require("@azure/schema-registry");

const client = new SchemaRegistryClient("<fullyQualifiedNamespace>", new DefaultAzureCredential());

const description = {
  name: "<name>",
  groupName: "<group name>",
  format: "<schema format>",
  definition: "<schema definition>"
}

const found = await client.getSchemaProperties(description);
if (found) {
  console.log(`Got schema ID=${found.id}`);
}

Obtención de la definición del esquema existente por identificador

const { DefaultAzureCredential } = require("@azure/identity");
const { SchemaRegistryClient } = require("@azure/schema-registry");

const client = new SchemaRegistryClient("<fullyQualifiedNamespace>", new DefaultAzureCredential());
const foundSchema = await client.getSchema("<id>");
if (foundSchema) {
  console.log(`Got schema definition=${foundSchema.definition}`);
}

Obtención de la definición del esquema existente por versión

const { DefaultAzureCredential } = require("@azure/identity");
const { SchemaRegistryClient } = require("@azure/schema-registry");

const client = new SchemaRegistryClient("<fullyQualifiedNamespace>", new DefaultAzureCredential());
const foundSchema = await client.getSchema("<schema name>", "<group name>", version);
if (foundSchema) {
  console.log(`Got schema definition=${foundSchema.definition}`);
}

Solución de problemas

Registro

La habilitación del registro puede ayudar a descubrir información útil sobre los errores. Para ver un registro de solicitudes y respuestas HTTP, establezca la variable de entorno AZURE_LOG_LEVEL en info. Como alternativa, el registro se puede habilitar en tiempo de ejecución llamando a setLogLevel en @azure/logger:

const { setLogLevel } = require("@azure/logger");

setLogLevel("info");

Pasos siguientes

Eche un vistazo al directorio de ejemplos para obtener ejemplos detallados sobre cómo usar esta biblioteca.

Contribuciones

Este proyecto agradece las contribuciones y sugerencias. La mayoría de las contribuciones requieren que acepte un Contrato de licencia para el colaborador (CLA) que declara que tiene el derecho a concedernos y nos concede los derechos para usar su contribución. Para más detalles, visite https://cla.microsoft.com.

Cuando se envía una solicitud de incorporación de cambios, un bot de CLA determinará de forma automática si tiene que aportar un CLA y completar la PR adecuadamente (por ejemplo, la etiqueta, el comentario). Solo siga las instrucciones que le dará el bot. Solo será necesario que lo haga una vez en todos los repositorios con nuestro CLA.

Este proyecto ha adoptado el Código de conducta de Microsoft Open Source. Para más información, consulte las preguntas más frecuentes del código de conducta o póngase en contacto con opencode@microsoft.com si tiene cualquier otra pregunta o comentario.

Si desea contribuir a esta biblioteca, lea la guía de contribución para obtener más información sobre cómo compilar y probar el código.

Impresiones