MaskField¶
The following provides usage information for the Apache Kafka® SMT org.apache.kafka.connect.transforms.MaskField.
Description¶
Can be used for the following scenarios:
- Mask specified fields with a valid null value for the field type (i.e. 0, false, empty string, and so on).
- Replace any string or numeric field using the replacementproperty.
Use the concrete transformation type designed for the record key (org.apache.kafka.connect.transforms.MaskField$Key) or value (org.apache.kafka.connect.transforms.MaskField$Value).
Examples¶
Mask value¶
This configuration snippet shows how to use MaskField to mask the value of a
field.
"transforms": "MaskField",
"transforms.MaskField.type": "org.apache.kafka.connect.transforms.MaskField$Value",
"transforms.MaskField.fields": "string_field"
This masks string_field, transforming the original message as seen
here:
{"integer_field":22, "string_field":"foo"}
into the result here:
{"integer_field":22, "string_field":""}
Replace value¶
This configuration snippet shows how to use MaskField to replace the value of a field. There are three transformations in the example. The first and second replace a value in a single field. The third is applied to both office and mobile phone number fields.
"transforms": "SSNMask", "IPMask", "PhoneMask",
"transforms.SSNMask.type": "org.apache.kafka.connect.transforms.MaskField$Value",
"transforms.SSNMask.fields": "SSN",
"transforms.SSNMask.replacement": "***-***-****",
"transforms.IPMask.type": "org.apache.kafka.connect.transforms.MaskField$Value",
"transforms.IPMask.fields": "IPAddress",
"transforms.IPMask.replacement": "xxx.xxx.xxx.xxx",
"transforms.PhoneMask.type": "org.apache.kafka.connect.transforms.MaskField$Value",
"transforms.PhoneMask.fields": "office,mobile",
"transforms.PhoneMask.replacement": "+0-000-000-0000"
Tip
For additional examples, see Mask Field for managed connectors.
Properties¶
| Name | Description | Type | Default | Valid Values | Importance | 
|---|---|---|---|---|---|
| fields | Names of fields to mask. | list | non-empty list | high | |
| replacement | Custom value replacement applied to all fieldsvalues. | string | null | Non-empty string with a numeric or text value that can be converted to fieldstype(s). | low | 
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 Filter (Apache Kafka), predicates can conditionally filter out specific records. For details and examples, see Predicates.