| <div id="org.apache.kafka.connect.transforms.InsertField"> |
| <h5>org.apache.kafka.connect.transforms.InsertField</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> |
| <h4 class="anchor-heading"> |
| <a class="anchor-link" id="offset.field"></a> |
| <a href="#offset.field">offset.field</a> |
| </h4> |
| <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 class="data-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> |
| <h4 class="anchor-heading"> |
| <a class="anchor-link" id="partition.field"></a> |
| <a href="#partition.field">partition.field</a> |
| </h4> |
| <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 class="data-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> |
| <h4 class="anchor-heading"> |
| <a class="anchor-link" id="static.field"></a> |
| <a href="#static.field">static.field</a> |
| </h4> |
| <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 class="data-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> |
| <h4 class="anchor-heading"> |
| <a class="anchor-link" id="static.value"></a> |
| <a href="#static.value">static.value</a> |
| </h4> |
| <p>Static field value, if field name configured.</p> |
| <table class="data-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> |
| <h4 class="anchor-heading"> |
| <a class="anchor-link" id="timestamp.field"></a> |
| <a href="#timestamp.field">timestamp.field</a> |
| </h4> |
| <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 class="data-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> |
| <h4 class="anchor-heading"> |
| <a class="anchor-link" id="topic.field"></a> |
| <a href="#topic.field">topic.field</a> |
| </h4> |
| <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 class="data-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>org.apache.kafka.connect.transforms.ReplaceField</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> |
| <h4 class="anchor-heading"> |
| <a class="anchor-link" id="blacklist" href="#blacklist"></a> |
| <a href="#blacklist">blacklist |
| </a></h4> |
| <p>Fields to exclude. This takes precedence over the whitelist.</p> |
| <table class="data-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> |
| <h4 class="anchor-heading"> |
| <a class="anchor-link" id="renames" href="#renames"></a> |
| <a href="#renames">renames |
| </a></h4> |
| <p>Field rename mappings.</p> |
| <table class="data-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> |
| <h4 class="anchor-heading"> |
| <a class="anchor-link" id="whitelist" href="#whitelist"></a> |
| <a href="#whitelist">whitelist |
| </a></h4> |
| <p>Fields to include. If specified, only these fields will be used.</p> |
| <table class="data-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> |
| </ul> |
| |
| </div> |
| <div id="org.apache.kafka.connect.transforms.MaskField"> |
| <h5>org.apache.kafka.connect.transforms.MaskField</h5> |
| Mask specified fields with a valid null value for the field type (i.e. 0, false, empty string, and so on).<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> |
| <h4 class="anchor-heading"> |
| <a class="anchor-link" id="fields" href="#fields"></a> |
| <a href="#fields">fields |
| </a></h4> |
| <p>Names of fields to mask.</p> |
| <table class="data-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.ValueToKey"> |
| <h5>org.apache.kafka.connect.transforms.ValueToKey</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> |
| <h4 class="anchor-heading"> |
| <a class="anchor-link" id="fields" href="#fields"></a> |
| <a href="#fields">fields |
| </a></h4> |
| <p>Field names on the record value to extract as the record key.</p> |
| <table class="data-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>org.apache.kafka.connect.transforms.HoistField</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> |
| <h4 class="anchor-heading"> |
| <a class="anchor-link" id="field" href="#field"></a> |
| <a href="#field">field |
| </a></h4> |
| <p>Field name for the single field that will be created in the resulting Struct or Map.</p> |
| <table class="data-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>org.apache.kafka.connect.transforms.ExtractField</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> |
| <h4 class="anchor-heading"> |
| <a class="anchor-link" id="field" href="#field"></a> |
| <a href="#field">field |
| </a></h4> |
| <p>Field name to extract.</p> |
| <table class="data-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>org.apache.kafka.connect.transforms.SetSchemaMetadata</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> |
| <h4 class="anchor-heading"> |
| <a class="anchor-link" id="schema.name"></a> |
| <a href="#schema.name">schema.name</a> |
| </h4> |
| <p>Schema name to set.</p> |
| <table class="data-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> |
| <h4 class="anchor-heading"> |
| <a class="anchor-link" id="schema.version"></a> |
| <a href="#schema.version">schema.version</a> |
| </h4> |
| <p>Schema version to set.</p> |
| <table class="data-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>org.apache.kafka.connect.transforms.TimestampRouter</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> |
| <h4 class="anchor-heading"> |
| <a class="anchor-link" id="timestamp.format"></a> |
| <a href="#timestamp.format">timestamp.format</a> |
| </h4> |
| <p>Format string for the timestamp that is compatible with <code>java.text.SimpleDateFormat</code>.</p> |
| <table class="data-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> |
| <h4 class="anchor-heading"> |
| <a class="anchor-link" id="topic.format"></a> |
| <a href="#topic.format">topic.format</a> |
| </h4> |
| <p>Format string which can contain <code>${topic}</code> and <code>${timestamp}</code> as placeholders for the topic and timestamp, respectively.</p> |
| <table class="data-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>org.apache.kafka.connect.transforms.RegexRouter</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> |
| <h4 class="anchor-heading"> |
| <a class="anchor-link" id="regex" href="#regex"></a> |
| <a href="#regex">regex |
| </a></h4> |
| <p>Regular expression to use for matching.</p> |
| <table class="data-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> |
| <h4 class="anchor-heading"> |
| <a class="anchor-link" id="replacement" href="#replacement"></a> |
| <a href="#replacement">replacement |
| </a></h4> |
| <p>Replacement string.</p> |
| <table class="data-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>org.apache.kafka.connect.transforms.Flatten</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. 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> |
| <h4 class="anchor-heading"> |
| <a class="anchor-link" id="delimiter" href="#delimiter"></a> |
| <a href="#delimiter">delimiter |
| </a></h4> |
| <p>Delimiter to insert between field names from the input record when generating field names for the output record</p> |
| <table class="data-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>org.apache.kafka.connect.transforms.Cast</h5> |
| Cast fields or the entire key or value to a specific type, e.g. to force an integer field to a smaller width. Only simple primitive types are supported -- integers, floats, boolean, and string. <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> |
| <h4 class="anchor-heading"> |
| <a class="anchor-link" id="spec" href="#spec"></a> |
| <a href="#spec">spec |
| </a></h4> |
| <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.</p> |
| <table class="data-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>org.apache.kafka.connect.transforms.TimestampConverter</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> |
| <h4 class="anchor-heading"> |
| <a class="anchor-link" id="target.type"></a> |
| <a href="#target.type">target.type</a> |
| </h4> |
| <p>The desired timestamp representation: string, unix, Date, Time, or Timestamp</p> |
| <table class="data-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> |
| <h4 class="anchor-heading"> |
| <a class="anchor-link" id="field" href="#field"></a> |
| <a href="#field">field |
| </a></h4> |
| <p>The field containing the timestamp, or empty if the entire value is a timestamp</p> |
| <table class="data-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> |
| <h4 class="anchor-heading"> |
| <a class="anchor-link" id="format" href="#format"></a> |
| <a href="#format">format |
| </a></h4> |
| <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 class="data-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> |