#apache-kafka #apache-kafka-connect #debezium
#апач-кафка #apache-кафка-подключение #дебезиум
Вопрос:
Я пытаюсь применить Debezium, New Record State Extraction SMT
используя следующую конфигурацию:
"transforms": "unwrap", "transforms.unwrap.type": "io.debezium.transforms.ExtractNewRecordState", "transforms.unwrap.drop.tombstones": true, "transforms.unwrap.delete.handling.mode": "rewrite", "transforms.unwrap.add.fields": "db,schema,table,txId,ts_ms"
Для INSERT
UPDATE
операций и я получаю сообщения, как и ожидалось, но в случае DELETE
, если я получаю следующее в качестве полезной нагрузки:
"payload": { "id": 2, "first_name": "", "last_name": "", "__db": "postgres", "__schema": "schema1", "__table": "user_details", "__txId": 5145, "__ts_ms": 1638760801510, "__deleted": "true" }
Как вы можете видеть выше, оба first_name
last_name
поля и имеют пустые значения, хотя запись, которую я удалил, имеет непустые значения для обоих этих полей. Что я ожидаю увидеть в качестве значения для этих 2 полей, так это их значение на момент удаления, как показано в разделе полезной before
нагрузки debezium в случае, если New Record State Extraction SMT
оно не применяется.