Kafka Connect MaskField SMT Usage Reference for Confluent Cloud
The following provides usage information for the Apache Kafka® SMT org.apache.kafka.connect.transforms.MaskField.
Description
Can be used for the following scenarios:
Replace any string or numeric field using the
replacementproperty.Mask specified fields with a valid null value for the following field types:
Boolean: Boolean.FALSE
Byte: (byte) 0
Short: (short) 0
Integer: 0
Long: 0L
Float: Of
Double: 0d
BigInteger: BigInteger.ZERO
BigDecimal: BigDecimal.ZERO
Date: new Date(0)
String: “”
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 |
|---|---|---|---|---|---|
| Names of fields to mask. | list | non-empty list | high | |
| Custom value replacement applied to all | string | null | Non-empty string with a numeric or text value that can be converted to | 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 Kafka Connect Filter (Kafka) SMT Usage Reference for Confluent Cloud, predicates can conditionally filter out specific records. For details and examples, see Predicates.