#sql-server #apache-kafka #debezium #amazon-dms
#sql-сервер #апачи-кафка #debezium #aws-dms
Вопрос:
Мы экспериментируем с Amazon DMS в качестве альтернативы Debezium для внесения изменений в базу данных SQL Server в Kafka. Все идет хорошо, но есть одна особенность Debezium, которую мы собираемся пропустить в DMS: возможность сообщений в Kafka содержать состояние записи как до, так и после внесения изменений. Похоже, что с DMS вы получаете только версию записи after, а не before. Есть ли где-нибудь для этого настройка? Мне не удалось найти никакой документации, указывающей на то, что она существует, но я решил, что спрошу у Stack Overflow hivemind, прежде чем сдамся.
Ответ №1:
Вы можете попробовать использовать настройки задачи beforeimage, чтобы получить запись данных изображения before, которая даст вам значения записи before с указанным префиксом и суффиксом к имени столбца. Добавьте приведенное ниже правило преобразования в настройку задачи, чтобы получить желаемый результат.
{
"rule-type": "transformation",
"rule-id": "2",
"rule-name": "2",
"rule-target": "column",
"object-locator": {
"schema-name": "%",
"table-name": "employees"
},
"rule-action": "add-before-image-columns",
"before-image-def": {
"column-prefix": "BI_",
"column-suffix": "",
"column-filter": "pk-only"
}
}