重要

このページの日本語コンテンツは古くなっている可能性があります。最新の英語版コンテンツをご覧になるには、こちらをクリックしてください。

Single Message Transforms for Confluent Platform

SMT(Single Message Transformation)は、メッセージが Connect を通過する際に適用されます。SMT は、ソースコネクターで生成され、Kafka に書き込まれる前の受信メッセージを変換します。また、シンクコネクターに送信される前の送信メッセージを変換します。以下の SMT が用意されており、Kafka Connect で使用できます。

ちなみに

このトピックに関するチュートリアルと詳細については、「How to Use Single Message Transforms in Kafka Connect」を参照してください。

用意されている SMT に必要な変換機能がない場合は、独自に作成することができます。詳細については、「カスタム変換」を参照してください。

注意

This document contains SMT information that applies to all connectors, self-managed and fully-managed. However, some information linked to from this page may go to platform-specific docs that do not apply to fully-managed connectors. For instance, RegexRouter and Custom SMTs are not currently available with managed connector SMTs.

変換 説明
Cast フィールドや、キーまたは値の全体を特定の型に変換(キャスト)します(整数のフィールドを狭範囲の整数のフィールドに変換するなど)。
Drop レコードの 1 つのキーまたは値をドロップ(破棄)して null を設定します。
DropHeaders 現在、マネージド型コネクターでは利用できません。 各レコードから 1 つ以上のヘッダーをドロップします。
ExtractField スキーマが存在する場合は Struct から、スキーマのないデータの場合は Map から、指定されたフィールドを抽出します。null 値はすべてそのまま渡されます。
ExtractTopic レコードトピックを、キーまたは値から派生された新しいトピックに置き換えます。
Filter(Apache Kafka) すべてのレコードをドロップします。述語 と組み合わせて使用します。
Filter(Confluent) 構成可能な filter.condition と一致するレコードを含めるか、ドロップします。
Flatten ネストしたデータ構造をフラット化します。これにより、階層ごとにフィールド名が区切り文字で連結されて、それぞれのフィールド名が生成されます(区切り文字は変更することができます)。
GzipDecompress Not currently available for managed connectors. Gzip-decompress the entire byteArray key or value input.
HeaderFrom Not currently available for managed connectors. Moves or copies fields in a record key or value into the record's header.
HoistField スキーマが存在する場合は Struct の、スキーマのないデータの場合は Map の、指定されたフィールド名を使用してデータをラップします。
InsertField レコードメタデータの属性または構成された静的な値を使用してフィールドを挿入します。
InsertHeader 現在、マネージド型コネクターでは利用できません。 レコードヘッダーとしてリテラル値を挿入します。
MaskField 指定されたフィールドを、そのフィールドの型に対して有効な null 値でマスクします。
MessageTimeStampRouter 元のトピックの値とレコードのタイムスタンプフィールドに応じて、レコードのトピックフィールドを更新します。
RegexRouter 現在、マネージド型コネクターでは利用できません。 構成されている正規表現と置換文字列を使用して、レコードのトピックを更新します。
ReplaceField フィールドにフィルターをかけるか、フィールドの名前を変更します。
SetSchemaMetadata レコードのキーまたは値のスキーマに対して、スキーマ名とバージョンのいずれか、または両方を設定します。
TimestampConverter Unix エポック、文字列、Connect の Date 型および Timestamp 型など、タイムスタンプのフォーマットを別のフォーマットに変換します。
TimestampRouter 元のトピックの値とレコードのタイムスタンプに応じて、レコードのトピックフィールドを更新します。
TombstoneHandler tombstone レコードを管理します。tombstone レコードとは、ValueSchema の有無に関係なく、値フィールド全体が null になっているレコードと定義されています。
TopicRegexRouter マネージド型ソースコネクターのみで利用できます。 構成されている正規表現と置換文字列を使用して、レコードのトピックをアップデートします。
ValueToKey レコードキーを、レコード値のフィールドのサブセットから形成された新しいキーに置き換えます。