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.objectAvroEncoder
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.
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:
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:
Objeto de subtipo del protocolo MessageType.
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
Objeto de mensaje que contiene el contenido que se va a descodificar y el tipo de contenido que contiene el identificador de esquema.
Un esquema de lector opcional, tal y como se define en la especificación de Apache Avro.
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
- 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.
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.