blob: f98efd8bd9f5b97b2138e8ff8c645238c178773a [file] [log] [blame]
<div id="org.apache.kafka.connect.transforms.InsertField">
<h5><a href="#org.apache.kafka.connect.transforms.InsertField">org.apache.kafka.connect.transforms.InsertField</a></h5>
Insert field(s) using attributes from the record metadata or a configured static value.<p/>Use the concrete transformation type designed for the record key (<code>org.apache.kafka.connect.transforms.InsertField$Key</code>) or value (<code>org.apache.kafka.connect.transforms.InsertField$Value</code>).
<p/>
<ul class="config-list">
<li>
<h6><a id="offset.field"></a><a id="org.apache.kafka.connect.transforms.InsertField_offset.field" href="#org.apache.kafka.connect.transforms.InsertField_offset.field">offset.field</a></h6>
<p>Field name for Kafka offset - only applicable to sink connectors.<br/>Suffix with <code>!</code> to make this a required field, or <code>?</code> to keep it optional (the default).</p>
<table><tbody>
<tr><th>Type:</th><td>string</td></tr>
<tr><th>Default:</th><td>null</td></tr>
<tr><th>Valid Values:</th><td></td></tr>
<tr><th>Importance:</th><td>medium</td></tr>
</tbody></table>
</li>
<li>
<h6><a id="partition.field"></a><a id="org.apache.kafka.connect.transforms.InsertField_partition.field" href="#org.apache.kafka.connect.transforms.InsertField_partition.field">partition.field</a></h6>
<p>Field name for Kafka partition. Suffix with <code>!</code> to make this a required field, or <code>?</code> to keep it optional (the default).</p>
<table><tbody>
<tr><th>Type:</th><td>string</td></tr>
<tr><th>Default:</th><td>null</td></tr>
<tr><th>Valid Values:</th><td></td></tr>
<tr><th>Importance:</th><td>medium</td></tr>
</tbody></table>
</li>
<li>
<h6><a id="static.field"></a><a id="org.apache.kafka.connect.transforms.InsertField_static.field" href="#org.apache.kafka.connect.transforms.InsertField_static.field">static.field</a></h6>
<p>Field name for static data field. Suffix with <code>!</code> to make this a required field, or <code>?</code> to keep it optional (the default).</p>
<table><tbody>
<tr><th>Type:</th><td>string</td></tr>
<tr><th>Default:</th><td>null</td></tr>
<tr><th>Valid Values:</th><td></td></tr>
<tr><th>Importance:</th><td>medium</td></tr>
</tbody></table>
</li>
<li>
<h6><a id="static.value"></a><a id="org.apache.kafka.connect.transforms.InsertField_static.value" href="#org.apache.kafka.connect.transforms.InsertField_static.value">static.value</a></h6>
<p>Static field value, if field name configured.</p>
<table><tbody>
<tr><th>Type:</th><td>string</td></tr>
<tr><th>Default:</th><td>null</td></tr>
<tr><th>Valid Values:</th><td></td></tr>
<tr><th>Importance:</th><td>medium</td></tr>
</tbody></table>
</li>
<li>
<h6><a id="timestamp.field"></a><a id="org.apache.kafka.connect.transforms.InsertField_timestamp.field" href="#org.apache.kafka.connect.transforms.InsertField_timestamp.field">timestamp.field</a></h6>
<p>Field name for record timestamp. Suffix with <code>!</code> to make this a required field, or <code>?</code> to keep it optional (the default).</p>
<table><tbody>
<tr><th>Type:</th><td>string</td></tr>
<tr><th>Default:</th><td>null</td></tr>
<tr><th>Valid Values:</th><td></td></tr>
<tr><th>Importance:</th><td>medium</td></tr>
</tbody></table>
</li>
<li>
<h6><a id="topic.field"></a><a id="org.apache.kafka.connect.transforms.InsertField_topic.field" href="#org.apache.kafka.connect.transforms.InsertField_topic.field">topic.field</a></h6>
<p>Field name for Kafka topic. Suffix with <code>!</code> to make this a required field, or <code>?</code> to keep it optional (the default).</p>
<table><tbody>
<tr><th>Type:</th><td>string</td></tr>
<tr><th>Default:</th><td>null</td></tr>
<tr><th>Valid Values:</th><td></td></tr>
<tr><th>Importance:</th><td>medium</td></tr>
</tbody></table>
</li>
</ul>
</div>
<div id="org.apache.kafka.connect.transforms.ReplaceField">
<h5><a href="#org.apache.kafka.connect.transforms.ReplaceField">org.apache.kafka.connect.transforms.ReplaceField</a></h5>
Filter or rename fields.<p/>Use the concrete transformation type designed for the record key (<code>org.apache.kafka.connect.transforms.ReplaceField$Key</code>) or value (<code>org.apache.kafka.connect.transforms.ReplaceField$Value</code>).
<p/>
<ul class="config-list">
<li>
<h6><a id="exclude"></a><a id="org.apache.kafka.connect.transforms.ReplaceField_exclude" href="#org.apache.kafka.connect.transforms.ReplaceField_exclude">exclude</a></h6>
<p>Fields to exclude. This takes precedence over the fields to include.</p>
<table><tbody>
<tr><th>Type:</th><td>list</td></tr>
<tr><th>Default:</th><td>""</td></tr>
<tr><th>Valid Values:</th><td></td></tr>
<tr><th>Importance:</th><td>medium</td></tr>
</tbody></table>
</li>
<li>
<h6><a id="include"></a><a id="org.apache.kafka.connect.transforms.ReplaceField_include" href="#org.apache.kafka.connect.transforms.ReplaceField_include">include</a></h6>
<p>Fields to include. If specified, only these fields will be used.</p>
<table><tbody>
<tr><th>Type:</th><td>list</td></tr>
<tr><th>Default:</th><td>""</td></tr>
<tr><th>Valid Values:</th><td></td></tr>
<tr><th>Importance:</th><td>medium</td></tr>
</tbody></table>
</li>
<li>
<h6><a id="renames"></a><a id="org.apache.kafka.connect.transforms.ReplaceField_renames" href="#org.apache.kafka.connect.transforms.ReplaceField_renames">renames</a></h6>
<p>Field rename mappings.</p>
<table><tbody>
<tr><th>Type:</th><td>list</td></tr>
<tr><th>Default:</th><td>""</td></tr>
<tr><th>Valid Values:</th><td>list of colon-delimited pairs, e.g. <code>foo:bar,abc:xyz</code></td></tr>
<tr><th>Importance:</th><td>medium</td></tr>
</tbody></table>
</li>
<li>
<h6><a id="blacklist"></a><a id="org.apache.kafka.connect.transforms.ReplaceField_blacklist" href="#org.apache.kafka.connect.transforms.ReplaceField_blacklist">blacklist</a></h6>
<p>Deprecated. Use exclude instead.</p>
<table><tbody>
<tr><th>Type:</th><td>list</td></tr>
<tr><th>Default:</th><td>null</td></tr>
<tr><th>Valid Values:</th><td></td></tr>
<tr><th>Importance:</th><td>low</td></tr>
</tbody></table>
</li>
<li>
<h6><a id="whitelist"></a><a id="org.apache.kafka.connect.transforms.ReplaceField_whitelist" href="#org.apache.kafka.connect.transforms.ReplaceField_whitelist">whitelist</a></h6>
<p>Deprecated. Use include instead.</p>
<table><tbody>
<tr><th>Type:</th><td>list</td></tr>
<tr><th>Default:</th><td>null</td></tr>
<tr><th>Valid Values:</th><td></td></tr>
<tr><th>Importance:</th><td>low</td></tr>
</tbody></table>
</li>
</ul>
</div>
<div id="org.apache.kafka.connect.transforms.MaskField">
<h5><a href="#org.apache.kafka.connect.transforms.MaskField">org.apache.kafka.connect.transforms.MaskField</a></h5>
Mask specified fields with a valid null value for the field type (i.e. 0, false, empty string, and so on).<p/>For numeric and string fields, an optional replacement value can be specified that is converted to the correct type.<p/>Use the concrete transformation type designed for the record key (<code>org.apache.kafka.connect.transforms.MaskField$Key</code>) or value (<code>org.apache.kafka.connect.transforms.MaskField$Value</code>).
<p/>
<ul class="config-list">
<li>
<h6><a id="fields"></a><a id="org.apache.kafka.connect.transforms.MaskField_fields" href="#org.apache.kafka.connect.transforms.MaskField_fields">fields</a></h6>
<p>Names of fields to mask.</p>
<table><tbody>
<tr><th>Type:</th><td>list</td></tr>
<tr><th>Default:</th><td></td></tr>
<tr><th>Valid Values:</th><td>non-empty list</td></tr>
<tr><th>Importance:</th><td>high</td></tr>
</tbody></table>
</li>
<li>
<h6><a id="replacement"></a><a id="org.apache.kafka.connect.transforms.MaskField_replacement" href="#org.apache.kafka.connect.transforms.MaskField_replacement">replacement</a></h6>
<p>Custom value replacement, that will be applied to all 'fields' values (numeric or non-empty string values only).</p>
<table><tbody>
<tr><th>Type:</th><td>string</td></tr>
<tr><th>Default:</th><td>null</td></tr>
<tr><th>Valid Values:</th><td>non-empty string</td></tr>
<tr><th>Importance:</th><td>low</td></tr>
</tbody></table>
</li>
</ul>
</div>
<div id="org.apache.kafka.connect.transforms.ValueToKey">
<h5><a href="#org.apache.kafka.connect.transforms.ValueToKey">org.apache.kafka.connect.transforms.ValueToKey</a></h5>
Replace the record key with a new key formed from a subset of fields in the record value.
<p/>
<ul class="config-list">
<li>
<h6><a id="fields"></a><a id="org.apache.kafka.connect.transforms.ValueToKey_fields" href="#org.apache.kafka.connect.transforms.ValueToKey_fields">fields</a></h6>
<p>Field names on the record value to extract as the record key.</p>
<table><tbody>
<tr><th>Type:</th><td>list</td></tr>
<tr><th>Default:</th><td></td></tr>
<tr><th>Valid Values:</th><td>non-empty list</td></tr>
<tr><th>Importance:</th><td>high</td></tr>
</tbody></table>
</li>
</ul>
</div>
<div id="org.apache.kafka.connect.transforms.HoistField">
<h5><a href="#org.apache.kafka.connect.transforms.HoistField">org.apache.kafka.connect.transforms.HoistField</a></h5>
Wrap data using the specified field name in a Struct when schema present, or a Map in the case of schemaless data.<p/>Use the concrete transformation type designed for the record key (<code>org.apache.kafka.connect.transforms.HoistField$Key</code>) or value (<code>org.apache.kafka.connect.transforms.HoistField$Value</code>).
<p/>
<ul class="config-list">
<li>
<h6><a id="field"></a><a id="org.apache.kafka.connect.transforms.HoistField_field" href="#org.apache.kafka.connect.transforms.HoistField_field">field</a></h6>
<p>Field name for the single field that will be created in the resulting Struct or Map.</p>
<table><tbody>
<tr><th>Type:</th><td>string</td></tr>
<tr><th>Default:</th><td></td></tr>
<tr><th>Valid Values:</th><td></td></tr>
<tr><th>Importance:</th><td>medium</td></tr>
</tbody></table>
</li>
</ul>
</div>
<div id="org.apache.kafka.connect.transforms.ExtractField">
<h5><a href="#org.apache.kafka.connect.transforms.ExtractField">org.apache.kafka.connect.transforms.ExtractField</a></h5>
Extract the specified field from a Struct when schema present, or a Map in the case of schemaless data. Any null values are passed through unmodified.<p/>Use the concrete transformation type designed for the record key (<code>org.apache.kafka.connect.transforms.ExtractField$Key</code>) or value (<code>org.apache.kafka.connect.transforms.ExtractField$Value</code>).
<p/>
<ul class="config-list">
<li>
<h6><a id="field"></a><a id="org.apache.kafka.connect.transforms.ExtractField_field" href="#org.apache.kafka.connect.transforms.ExtractField_field">field</a></h6>
<p>Field name to extract.</p>
<table><tbody>
<tr><th>Type:</th><td>string</td></tr>
<tr><th>Default:</th><td></td></tr>
<tr><th>Valid Values:</th><td></td></tr>
<tr><th>Importance:</th><td>medium</td></tr>
</tbody></table>
</li>
</ul>
</div>
<div id="org.apache.kafka.connect.transforms.SetSchemaMetadata">
<h5><a href="#org.apache.kafka.connect.transforms.SetSchemaMetadata">org.apache.kafka.connect.transforms.SetSchemaMetadata</a></h5>
Set the schema name, version or both on the record's key (<code>org.apache.kafka.connect.transforms.SetSchemaMetadata$Key</code>) or value (<code>org.apache.kafka.connect.transforms.SetSchemaMetadata$Value</code>) schema.
<p/>
<ul class="config-list">
<li>
<h6><a id="schema.name"></a><a id="org.apache.kafka.connect.transforms.SetSchemaMetadata_schema.name" href="#org.apache.kafka.connect.transforms.SetSchemaMetadata_schema.name">schema.name</a></h6>
<p>Schema name to set.</p>
<table><tbody>
<tr><th>Type:</th><td>string</td></tr>
<tr><th>Default:</th><td>null</td></tr>
<tr><th>Valid Values:</th><td></td></tr>
<tr><th>Importance:</th><td>high</td></tr>
</tbody></table>
</li>
<li>
<h6><a id="schema.version"></a><a id="org.apache.kafka.connect.transforms.SetSchemaMetadata_schema.version" href="#org.apache.kafka.connect.transforms.SetSchemaMetadata_schema.version">schema.version</a></h6>
<p>Schema version to set.</p>
<table><tbody>
<tr><th>Type:</th><td>int</td></tr>
<tr><th>Default:</th><td>null</td></tr>
<tr><th>Valid Values:</th><td></td></tr>
<tr><th>Importance:</th><td>high</td></tr>
</tbody></table>
</li>
</ul>
</div>
<div id="org.apache.kafka.connect.transforms.TimestampRouter">
<h5><a href="#org.apache.kafka.connect.transforms.TimestampRouter">org.apache.kafka.connect.transforms.TimestampRouter</a></h5>
Update the record's topic field as a function of the original topic value and the record timestamp.<p/>This is mainly useful for sink connectors, since the topic field is often used to determine the equivalent entity name in the destination system(e.g. database table or search index name).
<p/>
<ul class="config-list">
<li>
<h6><a id="timestamp.format"></a><a id="org.apache.kafka.connect.transforms.TimestampRouter_timestamp.format" href="#org.apache.kafka.connect.transforms.TimestampRouter_timestamp.format">timestamp.format</a></h6>
<p>Format string for the timestamp that is compatible with <code>java.text.SimpleDateFormat</code>.</p>
<table><tbody>
<tr><th>Type:</th><td>string</td></tr>
<tr><th>Default:</th><td>yyyyMMdd</td></tr>
<tr><th>Valid Values:</th><td></td></tr>
<tr><th>Importance:</th><td>high</td></tr>
</tbody></table>
</li>
<li>
<h6><a id="topic.format"></a><a id="org.apache.kafka.connect.transforms.TimestampRouter_topic.format" href="#org.apache.kafka.connect.transforms.TimestampRouter_topic.format">topic.format</a></h6>
<p>Format string which can contain <code>${topic}</code> and <code>${timestamp}</code> as placeholders for the topic and timestamp, respectively.</p>
<table><tbody>
<tr><th>Type:</th><td>string</td></tr>
<tr><th>Default:</th><td>${topic}-${timestamp}</td></tr>
<tr><th>Valid Values:</th><td></td></tr>
<tr><th>Importance:</th><td>high</td></tr>
</tbody></table>
</li>
</ul>
</div>
<div id="org.apache.kafka.connect.transforms.RegexRouter">
<h5><a href="#org.apache.kafka.connect.transforms.RegexRouter">org.apache.kafka.connect.transforms.RegexRouter</a></h5>
Update the record topic using the configured regular expression and replacement string.<p/>Under the hood, the regex is compiled to a <code>java.util.regex.Pattern</code>. If the pattern matches the input topic, <code>java.util.regex.Matcher#replaceFirst()</code> is used with the replacement string to obtain the new topic.
<p/>
<ul class="config-list">
<li>
<h6><a id="regex"></a><a id="org.apache.kafka.connect.transforms.RegexRouter_regex" href="#org.apache.kafka.connect.transforms.RegexRouter_regex">regex</a></h6>
<p>Regular expression to use for matching.</p>
<table><tbody>
<tr><th>Type:</th><td>string</td></tr>
<tr><th>Default:</th><td></td></tr>
<tr><th>Valid Values:</th><td>valid regex</td></tr>
<tr><th>Importance:</th><td>high</td></tr>
</tbody></table>
</li>
<li>
<h6><a id="replacement"></a><a id="org.apache.kafka.connect.transforms.RegexRouter_replacement" href="#org.apache.kafka.connect.transforms.RegexRouter_replacement">replacement</a></h6>
<p>Replacement string.</p>
<table><tbody>
<tr><th>Type:</th><td>string</td></tr>
<tr><th>Default:</th><td></td></tr>
<tr><th>Valid Values:</th><td></td></tr>
<tr><th>Importance:</th><td>high</td></tr>
</tbody></table>
</li>
</ul>
</div>
<div id="org.apache.kafka.connect.transforms.Flatten">
<h5><a href="#org.apache.kafka.connect.transforms.Flatten">org.apache.kafka.connect.transforms.Flatten</a></h5>
Flatten a nested data structure, generating names for each field by concatenating the field names at each level with a configurable delimiter character. Applies to Struct when schema present, or a Map in the case of schemaless data. Array fields and their contents are not modified. The default delimiter is '.'.<p/>Use the concrete transformation type designed for the record key (<code>org.apache.kafka.connect.transforms.Flatten$Key</code>) or value (<code>org.apache.kafka.connect.transforms.Flatten$Value</code>).
<p/>
<ul class="config-list">
<li>
<h6><a id="delimiter"></a><a id="org.apache.kafka.connect.transforms.Flatten_delimiter" href="#org.apache.kafka.connect.transforms.Flatten_delimiter">delimiter</a></h6>
<p>Delimiter to insert between field names from the input record when generating field names for the output record</p>
<table><tbody>
<tr><th>Type:</th><td>string</td></tr>
<tr><th>Default:</th><td>.</td></tr>
<tr><th>Valid Values:</th><td></td></tr>
<tr><th>Importance:</th><td>medium</td></tr>
</tbody></table>
</li>
</ul>
</div>
<div id="org.apache.kafka.connect.transforms.Cast">
<h5><a href="#org.apache.kafka.connect.transforms.Cast">org.apache.kafka.connect.transforms.Cast</a></h5>
Cast fields or the entire key or value to a specific type, e.g. to force an integer field to a smaller width. Cast from integers, floats, boolean and string to any other type, and cast binary to string (base64 encoded).<p/>Use the concrete transformation type designed for the record key (<code>org.apache.kafka.connect.transforms.Cast$Key</code>) or value (<code>org.apache.kafka.connect.transforms.Cast$Value</code>).
<p/>
<ul class="config-list">
<li>
<h6><a id="spec"></a><a id="org.apache.kafka.connect.transforms.Cast_spec" href="#org.apache.kafka.connect.transforms.Cast_spec">spec</a></h6>
<p>List of fields and the type to cast them to of the form field1:type,field2:type to cast fields of Maps or Structs. A single type to cast the entire value. Valid types are int8, int16, int32, int64, float32, float64, boolean, and string. Note that binary fields can only be cast to string.</p>
<table><tbody>
<tr><th>Type:</th><td>list</td></tr>
<tr><th>Default:</th><td></td></tr>
<tr><th>Valid Values:</th><td>list of colon-delimited pairs, e.g. <code>foo:bar,abc:xyz</code></td></tr>
<tr><th>Importance:</th><td>high</td></tr>
</tbody></table>
</li>
</ul>
</div>
<div id="org.apache.kafka.connect.transforms.TimestampConverter">
<h5><a href="#org.apache.kafka.connect.transforms.TimestampConverter">org.apache.kafka.connect.transforms.TimestampConverter</a></h5>
Convert timestamps between different formats such as Unix epoch, strings, and Connect Date/Timestamp types.Applies to individual fields or to the entire value.<p/>Use the concrete transformation type designed for the record key (<code>org.apache.kafka.connect.transforms.TimestampConverter$Key</code>) or value (<code>org.apache.kafka.connect.transforms.TimestampConverter$Value</code>).
<p/>
<ul class="config-list">
<li>
<h6><a id="target.type"></a><a id="org.apache.kafka.connect.transforms.TimestampConverter_target.type" href="#org.apache.kafka.connect.transforms.TimestampConverter_target.type">target.type</a></h6>
<p>The desired timestamp representation: string, unix, Date, Time, or Timestamp</p>
<table><tbody>
<tr><th>Type:</th><td>string</td></tr>
<tr><th>Default:</th><td></td></tr>
<tr><th>Valid Values:</th><td>[string, unix, Date, Time, Timestamp]</td></tr>
<tr><th>Importance:</th><td>high</td></tr>
</tbody></table>
</li>
<li>
<h6><a id="field"></a><a id="org.apache.kafka.connect.transforms.TimestampConverter_field" href="#org.apache.kafka.connect.transforms.TimestampConverter_field">field</a></h6>
<p>The field containing the timestamp, or empty if the entire value is a timestamp</p>
<table><tbody>
<tr><th>Type:</th><td>string</td></tr>
<tr><th>Default:</th><td>""</td></tr>
<tr><th>Valid Values:</th><td></td></tr>
<tr><th>Importance:</th><td>high</td></tr>
</tbody></table>
</li>
<li>
<h6><a id="format"></a><a id="org.apache.kafka.connect.transforms.TimestampConverter_format" href="#org.apache.kafka.connect.transforms.TimestampConverter_format">format</a></h6>
<p>A SimpleDateFormat-compatible format for the timestamp. Used to generate the output when type=string or used to parse the input if the input is a string.</p>
<table><tbody>
<tr><th>Type:</th><td>string</td></tr>
<tr><th>Default:</th><td>""</td></tr>
<tr><th>Valid Values:</th><td></td></tr>
<tr><th>Importance:</th><td>medium</td></tr>
</tbody></table>
</li>
<li>
<h6><a id="unix.precision"></a><a id="org.apache.kafka.connect.transforms.TimestampConverter_unix.precision" href="#org.apache.kafka.connect.transforms.TimestampConverter_unix.precision">unix.precision</a></h6>
<p>The desired Unix precision for the timestamp: seconds, milliseconds, microseconds, or nanoseconds. Used to generate the output when type=unix or used to parse the input if the input is a Long.Note: This SMT will cause precision loss during conversions from, and to, values with sub-millisecond components.</p>
<table><tbody>
<tr><th>Type:</th><td>string</td></tr>
<tr><th>Default:</th><td>milliseconds</td></tr>
<tr><th>Valid Values:</th><td>[nanoseconds, microseconds, milliseconds, seconds]</td></tr>
<tr><th>Importance:</th><td>low</td></tr>
</tbody></table>
</li>
</ul>
</div>
<div id="org.apache.kafka.connect.transforms.Filter">
<h5><a href="#org.apache.kafka.connect.transforms.Filter">org.apache.kafka.connect.transforms.Filter</a></h5>
Drops all records, filtering them from subsequent transformations in the chain. This is intended to be used conditionally to filter out records matching (or not matching) a particular Predicate.
<p/>
<ul class="config-list">
</ul>
</div>
<div id="org.apache.kafka.connect.transforms.InsertHeader">
<h5><a href="#org.apache.kafka.connect.transforms.InsertHeader">org.apache.kafka.connect.transforms.InsertHeader</a></h5>
Add a header to each record.
<p/>
<ul class="config-list">
<li>
<h6><a id="header"></a><a id="org.apache.kafka.connect.transforms.InsertHeader_header" href="#org.apache.kafka.connect.transforms.InsertHeader_header">header</a></h6>
<p>The name of the header.</p>
<table><tbody>
<tr><th>Type:</th><td>string</td></tr>
<tr><th>Default:</th><td></td></tr>
<tr><th>Valid Values:</th><td>non-null string</td></tr>
<tr><th>Importance:</th><td>high</td></tr>
</tbody></table>
</li>
<li>
<h6><a id="value.literal"></a><a id="org.apache.kafka.connect.transforms.InsertHeader_value.literal" href="#org.apache.kafka.connect.transforms.InsertHeader_value.literal">value.literal</a></h6>
<p>The literal value that is to be set as the header value on all records.</p>
<table><tbody>
<tr><th>Type:</th><td>string</td></tr>
<tr><th>Default:</th><td></td></tr>
<tr><th>Valid Values:</th><td>non-null string</td></tr>
<tr><th>Importance:</th><td>high</td></tr>
</tbody></table>
</li>
</ul>
</div>
<div id="org.apache.kafka.connect.transforms.DropHeaders">
<h5><a href="#org.apache.kafka.connect.transforms.DropHeaders">org.apache.kafka.connect.transforms.DropHeaders</a></h5>
Removes one or more headers from each record.
<p/>
<ul class="config-list">
<li>
<h6><a id="headers"></a><a id="org.apache.kafka.connect.transforms.DropHeaders_headers" href="#org.apache.kafka.connect.transforms.DropHeaders_headers">headers</a></h6>
<p>The name of the headers to be removed.</p>
<table><tbody>
<tr><th>Type:</th><td>list</td></tr>
<tr><th>Default:</th><td></td></tr>
<tr><th>Valid Values:</th><td>non-empty list</td></tr>
<tr><th>Importance:</th><td>high</td></tr>
</tbody></table>
</li>
</ul>
</div>
<div id="org.apache.kafka.connect.transforms.HeaderFrom">
<h5><a href="#org.apache.kafka.connect.transforms.HeaderFrom">org.apache.kafka.connect.transforms.HeaderFrom</a></h5>
Moves or copies fields in the key/value of a record into that record's headers. Corresponding elements of <code>fields</code> and <code>headers</code> together identify a field and the header it should be moved or copied to. Use the concrete transformation type designed for the record key (<code>org.apache.kafka.connect.transforms.HeaderFrom$Key</code>) or value (<code>org.apache.kafka.connect.transforms.HeaderFrom$Value</code>).
<p/>
<ul class="config-list">
<li>
<h6><a id="fields"></a><a id="org.apache.kafka.connect.transforms.HeaderFrom_fields" href="#org.apache.kafka.connect.transforms.HeaderFrom_fields">fields</a></h6>
<p>Field names in the record whose values are to be copied or moved to headers.</p>
<table><tbody>
<tr><th>Type:</th><td>list</td></tr>
<tr><th>Default:</th><td></td></tr>
<tr><th>Valid Values:</th><td>non-empty list</td></tr>
<tr><th>Importance:</th><td>high</td></tr>
</tbody></table>
</li>
<li>
<h6><a id="headers"></a><a id="org.apache.kafka.connect.transforms.HeaderFrom_headers" href="#org.apache.kafka.connect.transforms.HeaderFrom_headers">headers</a></h6>
<p>Header names, in the same order as the field names listed in the fields configuration property.</p>
<table><tbody>
<tr><th>Type:</th><td>list</td></tr>
<tr><th>Default:</th><td></td></tr>
<tr><th>Valid Values:</th><td>non-empty list</td></tr>
<tr><th>Importance:</th><td>high</td></tr>
</tbody></table>
</li>
<li>
<h6><a id="operation"></a><a id="org.apache.kafka.connect.transforms.HeaderFrom_operation" href="#org.apache.kafka.connect.transforms.HeaderFrom_operation">operation</a></h6>
<p>Either <code>move</code> if the fields are to be moved to the headers (removed from the key/value), or <code>copy</code> if the fields are to be copied to the headers (retained in the key/value).</p>
<table><tbody>
<tr><th>Type:</th><td>string</td></tr>
<tr><th>Default:</th><td></td></tr>
<tr><th>Valid Values:</th><td>[move, copy]</td></tr>
<tr><th>Importance:</th><td>high</td></tr>
</tbody></table>
</li>
</ul>
</div>