Message Format
The payload format depends on the source schema:- Structured data — When the schema contains regular typed columns, each row is serialized as a JSON object and sent as the message value.
- JSON or XML — When the schema contains a single
_jsonor_xmlfield, the raw string value is sent directly as the message value without additional wrapping.
Message Key
SetkeyField to the name of a column whose value should be used as the Kafka message key. Messages with the same key are routed to the same partition, preserving ordering for that key. If keyField is omitted, messages are distributed across partitions using the default partitioner.
Authentication
The destination authenticates to the Kafka cluster using SASL/PLAIN. Credentials are retrieved from Vault using the secret name specified inkafkaProducerSecretName. The secret must contain:
| Key | Description |
|---|---|
bootstrapServers | Kafka bootstrap server list |
username | SASL username |
password | SASL password |
Bootstrap Server Override
To override the bootstrap servers from the Vault secret on a per-pipeline basis, setoverrideBootstrapServers in the destination configuration.
Configuration Example
bootstrapServers, username, password) are configured globally in application.yaml via secrets.kafkaProducerSecretName. See Configuration Reference for Vault secret format.
Field Reference
| Field | Required | Default | Description |
|---|---|---|---|
topic | yes | Target Kafka topic | |
keyField | no | Column name to use as the message key | |
overrideBootstrapServers | no | Override bootstrap servers from the Vault secret | |
timeoutMs | no | 10000 | Producer send timeout in milliseconds |