8.2.4. Kafka レコードへのメタデータの追加例
ExtractNewRecordState
SMT は、単純化された Kafka レコードに元の変更イベントメタデータを追加できます。たとえば、単純化されたレコードのヘッダーまたは値に、以下のいずれかを含める必要がある場合があります。
- 変更後の操作のタイプ
- 変更されたデータベースまたはテーブルの名前
- Postgres LSN フィールドなどのコネクター固有のフィールド
簡素化された Kafka レコードのヘッダーにメタデータを追加するには、add.header
オプションを指定します。簡素化された Kafka レコードの値にメタデータを追加するには、add.fields
オプションを指定します。これらのオプションごとに、変更イベントフィールド名のコンマ区切りリストを指定します。空白は指定しないでください。フィールド名が重複している場合は、これらのフィールドのいずれかのメタデータを追加するには、構造とフィールドを指定します。以下に例を示します。
transforms=unwrap,... transforms.unwrap.type=io.debezium.transforms.ExtractNewRecordState transforms.unwrap.add.fields=op,table,lsn,source.ts_ms transforms.unwrap.add.headers=db transforms.unwrap.delete.handling.mode=rewrite
この設定では、単純な Kafka レコードに以下のようなものが含まれます。
{ ... "__op" : "c", "__table": "MY_TABLE", "__lsn": "123456789", "__source_ts_ms" : "123456789", ... }
また、簡素化された Kafka レコードには __db
ヘッダーがあります。
簡素化された Kafka レコードでは、SMT はメタデータフィールド名に二重アンダースコアを付けます。構造を指定する場合、SMT は構造名とフィールド名との間にアンダースコアも挿入します。
DELETE
操作用の単純な Kafka レコードにメタデータを追加するには、を設定する必要もあり delete.handling.mode=rewrite
ます。