#apache-kafka #apache-kafka-connect #confluent-platform #debezium #change-data-capture
#apache-кафка #apache-kafka-connect #confluent-платформа #debezium #изменение-захват данных
Вопрос:
Я использую debezium mongo DB source connector. он хорошо работает для создания / обновления, но для удаления я хочу, чтобы полный документ фильтровался в целевой базе данных. для этого я настроил свой соединитель в режиме обработки
"transforms.unwrap.delete.handling.mode" : "rewrite",
но это выдает ошибку (скриншот прилагается)
"Caused by: java.lang.NullPointerException"
хотя это работает хорошо, когда я делаю
"transforms.unwrap.delete.handling.mode" : "drop",
но в этом случае я получаю значение null.
Я попробовал ниже transformes.unwrap.type, но получил тот же результат
- «transformes.unwrap.type»: «io.debezium.transformes.Разверните из Velope»,
- «transformes.unwrap.type»: «io.debezium.connector.mongodb.transformes.Разверните frommongodbenvelope»,
- «transformes.unwrap.type»: «io.debezium.transformes.Извлеките новое состояние записи»,
есть ли какой-либо способ получить полный документ в случае удаления вместо null
пожалуйста, найдите прикрепленный скриншот ошибки и полную конфигурацию соединителя
{
"name": "inventory-mongo-connector",
"config": {
"connector.class" : "io.debezium.connector.mongodb.MongoDbConnector",
"tasks.max" : "1",
"mongodb.hosts" : "XXXXX",
"mongodb.name" : "YYYY",
"mongodb.user" : "ZZZZ",
"mongodb.password" : "TTTTT",
"database.whitelist" : "maindb",
"collection.whitelist":"maindb.collection1,maindb.collection2",
"database.history.kafka.bootstrap.servers" : "kafka:9092",
"transforms" : "unwrap",
"transforms.unwrap.type" : "io.debezium.transforms.UnwrapFromEnvelope",
"transforms.unwrap.drop.tombstones" : "false",
"transforms.unwrap.delete.handling.mode" : "rewrite",
"transforms.unwrap.operation.header" : "true"
}
}