Compartir a través de


AvroEncoder Clase

AvroEncoder proporciona la capacidad de codificar y descodificar contenido según el esquema avro especificado. Registraría, obtenerá y almacenará en caché automáticamente el esquema.

Herencia
builtins.object
AvroEncoder

Constructor

AvroEncoder(**kwargs: Any)

Parámetros

client
SchemaRegistryClient

Necesario. Cliente del Registro de esquema que se usa para registrar el esquema y recuperar el esquema del servicio.

group_name
Optional[str]

Obligatorio para la codificación. No se usa al descodificar. Grupo de esquemas en el que se debe registrar el esquema.

auto_register
bool

Cuando es true, registra los nuevos esquemas pasados a codificar. De lo contrario, y de forma predeterminada, se producirá un error en la codificación si el esquema no se ha registrado previamente en el registro.

Métodos

close

Este método es cerrar los sockets abiertos por el cliente. No es necesario usarse cuando se usa con un administrador de contexto.

decode

Descodifique el contenido de bytes mediante el identificador de esquema en el campo de tipo de contenido. message debe ser uno de los siguientes:

  1. Objeto de subtipo del protocolo MessageType.

  2. Un dict {"content": ..., "content_type": ...}, donde "content" es bytes y "content_type" es string.

El contenido debe seguir el formato de Avro RecordSchema asociado: https://avro.apache.org/docs/1.10.0/gettingstartedpython.html#Defining+a+schema

encode

Codifique el contenido con el esquema especificado. Cree el valor de tipo de contenido, que consta de la cadena De tipo Mime de Avro y el identificador de esquema correspondiente al esquema especificado. Si se proporciona con un subtipo MessageType, el contenido codificado y el tipo de contenido se pasarán para crear el objeto de mensaje. Si no se proporciona, se devolverá el siguiente dict: {"content": Valor codificado avro, "content_type": Cadena de tipo mime avro + id. de esquema}.

Si se establece message_type , se pasarán argumentos de palabra clave adicionales a la función de devolución de llamada de mensaje proporcionada.

El esquema debe ser un Objeto RecordSchema de Avro: https://avro.apache.org/docs/1.10.0/gettingstartedpython.html#Defining+a+schema

close

Este método es cerrar los sockets abiertos por el cliente. No es necesario usarse cuando se usa con un administrador de contexto.

async close() -> None

decode

Descodifique el contenido de bytes mediante el identificador de esquema en el campo de tipo de contenido. message debe ser uno de los siguientes:

  1. Objeto de subtipo del protocolo MessageType.

  2. Un dict {"content": ..., "content_type": ...}, donde "content" es bytes y "content_type" es string.

El contenido debe seguir el formato de Avro RecordSchema asociado: https://avro.apache.org/docs/1.10.0/gettingstartedpython.html#Defining+a+schema

async decode(message: MessageContent | MessageType, *, readers_schema: str | None = None, request_options: Dict[str, Any] = None, **kwargs: Any) -> Dict[str, Any]

Parámetros

message
MessageType o MessageContent
Requerido

Objeto de mensaje que contiene el contenido que se va a descodificar y el tipo de contenido que contiene el identificador de esquema.

readers_schema
str o None

Un esquema de lector opcional, tal y como se define en la especificación de Apache Avro.

request_options
Dict[str, Any]

Argumentos de palabra clave para las solicitudes HTTP que se van a pasar al cliente.

Tipo de valor devuelto

Excepciones

Indica un problema con la validación de esquemas.

Indica un problema con la descodificación de contenido.

encode

Codifique el contenido con el esquema especificado. Cree el valor de tipo de contenido, que consta de la cadena De tipo Mime de Avro y el identificador de esquema correspondiente al esquema especificado. Si se proporciona con un subtipo MessageType, el contenido codificado y el tipo de contenido se pasarán para crear el objeto de mensaje. Si no se proporciona, se devolverá el siguiente dict: {"content": Valor codificado avro, "content_type": Cadena de tipo mime avro + id. de esquema}.

Si se establece message_type , se pasarán argumentos de palabra clave adicionales a la función de devolución de llamada de mensaje proporcionada.

El esquema debe ser un Objeto RecordSchema de Avro: https://avro.apache.org/docs/1.10.0/gettingstartedpython.html#Defining+a+schema

async encode(content: Mapping[str, Any], *, schema: str, message_type: Type[MessageType], request_options: Dict[str, Any] | None = None, **kwargs: Any) -> MessageType

Parámetros

content
Mapping[str, Any]
Requerido

Contenido que se va a codificar.

schema
str

Necesario. Esquema utilizado para codificar el contenido.

message_type
Type[MessageType] o None

Clase de mensaje para construir el mensaje. Debe ser un subtipo del protocolo azure.schemaregistry.encoder.avroencoder.MessageType.

request_options
Dict[str, Any]

Argumentos de palabra clave para las solicitudes HTTP que se van a pasar al cliente.

Tipo de valor devuelto

Excepciones

Indica un problema con la validación del esquema.

Indica un problema con la codificación de contenido con el esquema.