Kafka Connect InsertField SMT Usage Reference for Confluent Cloud
The org.apache.kafka.connect.transforms.InsertField Apache Kafka® Single Message Transform (SMT) inserts fields into a record using metadata attributes or a configured static value.
Description
The InsertField SMT inserts fields using attributes from the record metadata or a configured static value.
Use the concrete transformation type designed for the record key (org.apache.kafka.connect.transforms.InsertField$Key) or value (org.apache.kafka.connect.transforms.InsertField$Value).
Examples
The following two configuration snippet examples show how to use the InsertField SMT.
Inserting a static field
To insert a static field, use transforms.InsertField.static.field and transforms.InsertField.static.value to include the defined static field and value. In this example, the field is MessageSource with the value Kafka Connect framework.
"transforms": "InsertField",
"transforms.InsertField.type": "org.apache.kafka.connect.transforms.InsertField$Value",
"transforms.InsertField.static.field": "MessageSource",
"transforms.InsertField.static.value": "Kafka Connect framework"
Before: {"author": "Philip K. Dick", "character": "Palmer Eldritch"}
After: {"author": "Philip K. Dick", "character": "Palmer Eldritch", "MessageSource": "Kafka Connect framework"}
Inserting a field into the record key
To insert a field into the record key instead of the value, use the InsertField$Key transformation type with any of the field-name properties listed in the Properties table, such as topic.field. InsertField has no separate key.field property.
"transforms": "InsertField",
"transforms.InsertField.type": "org.apache.kafka.connect.transforms.InsertField$Key",
"transforms.InsertField.topic.field": "SourceTopic"
Before: key {"id": 42}
After: key {"id": 42, "SourceTopic": "orders"}
For more examples, see Insert Field for managed connectors.
Properties
Name | Description | Type | Default | Valid Values | Importance |
|---|---|---|---|---|---|
| Field name for Apache Kafka® offset. This is only applicable to sink connectors. Suffix with | String | Null | Medium | |
| Field name for Kafka partition. Suffix with | String | Null | Medium | |
| Field name for static data field. Suffix with | String | Null | Medium | |
| The static value for the field specified in | String | Null | Medium | |
| Field name for record timestamp. Suffix with | String | Null | Medium | |
| Field name for Kafka topic. Suffix with | String | Null | Medium |
Predicates
Transformations can be configured with predicates so that the transformation is applied only to records which satisfy a condition. You can use predicates in a transformation chain and, when combined with the Kafka Connect Filter (Kafka) SMT Usage Reference for Confluent Cloud, predicates can conditionally filter out specific records. For details and examples, see Predicates.
