重要
このページの日本語コンテンツは古くなっている可能性があります。最新の英語版コンテンツをご覧になるには、こちらをクリックしてください。
ReplaceField¶
ここでは、Apache Kafka® SMT org.apache.kafka.connect.transforms.ReplaceField
の使用方法を説明します。
説明¶
Struct または Map のフィールドにフィルターをかけるか、フィールドの名前を変更します。
レコードキー用(org.apache.kafka.connect.transforms.ReplaceField$Key
)または値用(org.apache.kafka.connect.transforms.ReplaceField$Value
)の固有の変換タイプを使用します。
例¶
以下の例は、ReplaceField
を構成して使用する方法を示しています。
フィールドのドロップ¶
この構成スニペットは、ReplaceField
を使用してフィールドをブラックリストに指定し、そのフィールドを削除する方法を示しています。
"transforms": "ReplaceField",
"transforms.ReplaceField.type": "org.apache.kafka.connect.transforms.ReplaceField$Value",
"transforms.ReplaceField.blacklist": "c2"
これにより c2
が削除され、元のメッセージが次のように変換されます。
{"c1":22,"c2":"foo"}
変換の結果:
{"c1":22}
フィールド名の変更¶
この構成スニペットは、ReplaceField
を使用して、renames
プロパティを指定する方法を示しています。
"transforms": "RenameField",
"transforms.RenameField.type": "org.apache.kafka.connect.transforms.ReplaceField$Value",
"transforms.RenameField.renames": "foo:c1,bar:c2"
これにより、フィールド名の foo
と bar
が c1
と c2
に置き換えられます。
変換前: {"foo":22,"bar":"baz"}
変換後 : {"c1":22,"c2":"baz"}
ちなみに
その他の例については、マネージド型コネクターの「フィールドの置き換え」を参照してください。
プロパティ¶
名前 | 説明 | 型 | デフォルト | 指定可能な値 | 重要度 |
---|---|---|---|---|---|
exclude |
結果の Struct または Map から除外するフィールド。この指定は include リストより優先されます。 | list | "" | 中 | |
renames |
フィールド名変更のマッピング。 | list | "" | 変更前と変更後の名前のペアをコロンで区切り、コンマ区切りで並べたリスト(foo:bar,abc:xyz ) |
中 |
include |
含めるフィールド。指定すると、指定されたフィールドのみが結果の Struct または Map に含まれます。 | list | "" | 中 |
述語¶
"述語" を使用することにより、一定の条件を満たすレコードのみに変換が適用されるように、変換を構成することができます。述語は変換チェーンで使用することができ、Filter(Apache Kafka) と組み合わせると、条件に基づいて特定のレコードを除外できます。詳細と例については、「述語」を参照してください。