feldera_types::format::avro

Struct AvroEncoderConfig

source
pub struct AvroEncoderConfig {
    pub update_format: AvroUpdateFormat,
    pub schema: Option<String>,
    pub namespace: Option<String>,
    pub subject_name_strategy: Option<SubjectNameStrategy>,
    pub key_fields: Option<Vec<String>>,
    pub skip_schema_id: bool,
    pub registry_config: AvroSchemaRegistryConfig,
}
Expand description

Avro output format configuration.

Fields§

§update_format: AvroUpdateFormat

Format used to encode data change events in this stream.

The default value is ‘raw’.

§schema: Option<String>

Avro schema used to encode output records.

When specified, the encoder will use this schema; otherwise it will automatically generate an Avro schema based on the SQL view definition.

Specified as a string containing schema definition in JSON format. This schema must match precisely the SQL view definition, modulo nullability of columns.

§namespace: Option<String>

Avro namespace for the generated Avro schemas.

§subject_name_strategy: Option<SubjectNameStrategy>

Subject name strategy used to publish Avro schemas used by the connector in the schema registry.

When this property is not specified, the connector chooses subject name strategy automatically:

  • topic_name for confluent_jdbc update format
  • record_name for raw update format
§key_fields: Option<Vec<String>>

When this option is set, only the listed fields appear in the Debezium message key.

This option is only valid with the confluent_jdbc update format. It is used when writing to a table with primary keys. For such tables, the Confluent JDBC sink connector expects the message key (and its schema) to contain only the primary key columns.

When this field is set, the connector generates a separate Avro schema, containing only the listed fields, and uses this schema to encode Kafka message keys.

§skip_schema_id: bool

Set to true if serialized messages should only contain raw data without the header carrying schema ID. False by default.

See https://docs.confluent.io/platform/current/schema-registry/fundamentals/serdes-develop/index.html#wire-format

§registry_config: AvroSchemaRegistryConfig

Schema registry configuration.

When configured, the connector will push the Avro schema, whether it is specified as part of connector configuration or generated automatically, to the schema registry and use the schema id assigned by the registry in the

Trait Implementations§

source§

impl Debug for AvroEncoderConfig

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for AvroEncoderConfig

source§

fn default() -> AvroEncoderConfig

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for AvroEncoderConfig

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Serialize for AvroEncoderConfig

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
source§

impl<'__s> ToSchema<'__s> for AvroEncoderConfig

source§

fn schema() -> (&'__s str, RefOr<Schema>)

Return a tuple of name and schema or reference to a schema that can be referenced by the name or inlined directly to responses, request bodies or parameters.
source§

fn aliases() -> Vec<(&'__s str, Schema)>

Optional set of alias schemas for the ToSchema::schema. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T> Instrument for T

source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> Same for T

source§

type Output = T

Should always be Self
source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

source§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

source§

fn vzip(self) -> V

source§

impl<T> WithSubscriber for T

source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
source§

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,