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 つ目の変換は、officemobile の両方の電話番号フィールドに適用されます。

"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) と組み合わせると、条件に基づいて特定のレコードを除外できます。詳細と例については、「述語」を参照してください。