About "ExtractNewRecordState" and "ValueToKey". I just tried to do it. But I get errors because of "ValueToKey" - "Field does not exist: ID_SHARTTASK".
"transforms": "unwrap,insertKey",
"transforms.unwrap.type": "io.debezium.transforms.ExtractNewRecordState",
"transforms.unwrap.drop.tombstones": "false",
"transforms.insertKey.type": "org.apache.kafka.connect.transforms.ValueToKey",
"transforms.insertKey.fields": "ID_SHARTTASK,LASTDATE".
After the "ExtractNewRecordState" in kafka, the columns were in the payload field: { ID_SHARTTASK:.......}.
Isn't it enough that the fields just fit into the kafka message key? Just when I specify "message.key.columns": "WMS.TBL_SH_ARTTASK:ID_SHARTTASK,LASTDATE;" in the source connector, these columns are displayed in the key.
Kafka message:
KEY: {"schema":{"type":"struct","fields":[{"type":"int64","optional":false,"field":"ID_SHARTTASK"},{"type":"int64","optional":true,"name":"io.debezium.time.Timestamp","version":1,"field":"LASTDATE"}],"optional":false,"name":"dbserver5.WMS.TBL_SH_ARTTASK.Key"},"payload":{"ID_SHARTTASK":1767405703,"LASTDATE":1758106329000}} VALUE: empty
HEADERS: {}
I thought that the message.key.columns field was designed to specify multiple columns for the primary key. But then why doesn't the deletion work?
среда, 22 октября 2025 г. в 14:16:08 UTC+4, Chris Cranford: