MaskField¶
ここでは、Apache Kafka® SMT org.apache.kafka.connect.transforms.MaskField
の使用方法を説明します。
説明¶
以下のシナリオで使用できます。
- 指定されたフィールドを、そのフィールドの型に対して有効な null 値(0、false、空の文字列など)でマスクします。
replacement
プロパティを使用して、文字列または数値のフィールドを置き換えます。
レコードキー用(org.apache.kafka.connect.transforms.MaskField$Key
)または値用(org.apache.kafka.connect.transforms.MaskField$Value
)の固有の変換タイプを使用します。
例¶
値のマスク¶
この構成スニペットは、MaskField
を使用してフィールドの値をマスクする方法を示しています。
"transforms": "MaskField",
"transforms.MaskField.type": "org.apache.kafka.connect.transforms.MaskField$Value",
"transforms.MaskField.fields": "string_field"
これにより string_field
がマスクされます。次のメッセージが変換前の元のメッセージだとします。
{"integer_field":22, "string_field":"foo"}
このメッセージが次のように変換されます。
{"integer_field":22, "string_field":""}
値の置き換え¶
この構成スニペットは、MaskField
を使用してフィールドの値を置き換える方法を示しています。この例には 3 つの変換があります。1 つ目と 2 つ目の変換では、1 つのフィールドの 1 つの値が置き換えられます。3 つ目の変換は、office
と mobile
の両方の電話番号フィールドに適用されます。
"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"
ちなみに
その他の例については、マネージド型コネクターの Mask Field を参照してください。
特徴¶
Name | 説明 | 型 | デフォルト | 指定可能な値 | 重要度 |
---|---|---|---|---|---|
fields |
マスクするフィールドの名前。 | リスト | 空でないリスト | 高 | |
replacement |
すべての fields の値に適用されるカスタムの値の置き換え。 |
string | null | fields の型に変換することができる数値またはテキスト値を持つ、空ではない文字列。 |
低 |
述語¶
"述語" を使用することにより、一定の条件を満たすレコードのみに変換が適用されるように、変換を構成することができます。述語は変換チェーンで使用することができ、Filter(Apache Kafka) と組み合わせると、条件に基づいて特定のレコードを除外できます。詳細と例については、「述語」を参照してください。