AvroEncoderConfig

Struct AvroEncoderConfig 

Source
pub struct AvroEncoderConfig {
    pub update_format: AvroUpdateFormat,
    pub key_mode: Option<AvroEncoderKeyMode>,
    pub schema: Option<String>,
    pub cdc_field: Option<String>,
    pub namespace: Option<String>,
    pub subject_name_strategy: Option<SubjectNameStrategy>,
    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.

§key_mode: Option<AvroEncoderKeyMode>

Determines how the message key is generated when the Avro encoder is configured in the raw mode.

The default is key_fields when the index property of the connector is configured and none otherwise.

§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.

§cdc_field: Option<String>

Optional name of the field used for Change Data Capture (CDC) annotations.

Use this setting with data sinks that expect operation type (insert, delete, or update) encoded as a column in the Avro record, such as the Iceberg Sink Kafka Connector.

When set (e.g., "cdc_field": "op"), the specified field will be added to each record to indicate the type of change:

  • "I" for insert operations
  • "U" for upserts
  • "D" for deletions

If not set, CDC metadata will not be included in the records. Only works with the raw update format.

§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
§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 Clone for AvroEncoderConfig

Source§

fn clone(&self) -> AvroEncoderConfig

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
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> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. 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> Serialize for T
where T: Serialize + ?Sized,

Source§

fn erased_serialize(&self, serializer: &mut dyn Serializer) -> Result<Ok, Error>

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
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>,

Source§

impl<T> ErasedDestructor for T
where T: 'static,