12.5.3. Debezium イベントフラット化変換の設定

コネクターの設定に SMT 設定の詳細を追加して、Kafka Connect ソースコネクターまたはシンクコネクターに Debezium イベントフラット化 SMT を設定します。a .properties ファイルでデフォルトの動作を取得するには、以下のように指定します。

transforms=unwrap,...
transforms.unwrap.type=io.debezium.transforms.ExtractNewRecordState

Kafka Connect コネクター設定の場合は、Kafka Connect が SMT を適用する順序で transforms= をコンマ区切りに、SMT エイリアスを設定できます。

以下の .properties の例では、複数のイベントフラット化 SMT オプションを設定しています。

transforms=unwrap,...
transforms.unwrap.type=io.debezium.transforms.ExtractNewRecordState
transforms.unwrap.drop.tombstones=false
transforms.unwrap.delete.handling.mode=rewrite
transforms.unwrap.add.fields=table,lsn
drop.tombstones=false
DELETE 操作のトームストーンレコードをイベントストリームに保持します。
delete.handling.mode=rewrite

DELETE 操作の場合は、変更イベントに含まれていた value フィールドをフラット化して Kafka レコードを編集します。value フィールドには、before フィールドに含まれていたキー/値のペアが直接含まれます。SMT は __deleted を追加し、これを true に設定します。以下に例を示します。

"value": {
  "pk": 2,
  "cola": null,
  "__deleted": "true"
}
add.fields=table,lsn
テーブル および lsn フィールドの変更イベントメタデータを簡素化した Kafka レコードに追加します。