Table of Contents |
---|
Status
Current state: Draft, JIRA exists with pull-requestAdopted
Discussion thread: here
Vote thread: not started here
JIRA: Jira server ASF JIRA serverId 5aa69414-a9e9-3523-82ec-879b028fb15b key KAFKA-6755
...
New param 'replacement' will be added to the MaskField SMT config. Param is optional so this change is backward compatible.
name | description | type | default | valid values | importance |
---|---|---|---|---|---|
replacement | custom value replacement, that will be applied to all 'fields' values (numeric or non-empty string values convertable to the 'fields' type(s)). | String | null | non-empty string with numeric or text value, which can be converted to 'fields' type(s) | low |
Example config:
Code Block | ||||
---|---|---|---|---|
| ||||
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 |
...
Compatibility, Deprecation, and Migration Plan
...
The new configuration property in this proposal is backward compatible, so any existing connector configurations that use the MaskField SMT will continue to work as-is with no behavioral changes. To use the replacement feature, such existing connector configurations will need to be modified to add a new `replacement` property.
Rejected Alternatives
First version of the improvement, proposed in the PR, used JSON map of maskField → replacement, this approach had both pros and cons:
...