带有连接 table.include.list 的 Debezium docker 不起作用
Posted
技术标签:
【中文标题】带有连接 table.include.list 的 Debezium docker 不起作用【英文标题】:Debezium docker with connect table.include.list not working 【发布时间】:2021-09-03 23:17:14 【问题描述】:我正在使用此示例将 elasticsearch 与 mssql https://github.com/debezium/debezium-examples/tree/master/unwrap-smt#elasticsearch-sink 同步
我正在使用这个 mssql 连接设置运行 debezium 1.5:
"name": "Test-connector",
"config":
"connector.class": "io.debezium.connector.sqlserver.SqlServerConnector",
"database.hostname": "192.168.1.234",
"database.port": "1433",
"database.user": "user",
"database.password": "pass",
"database.dbname": "Test",
"database.server.name": "MyServer",
"table.include.list": "dbo.TEST_A",
"database.history.kafka.bootstrap.servers": "kafka:9092",
"database.history.kafka.topic": "dbhistory.testA"
根据 debezium https://debezium.io/documentation/reference/connectors/sqlserver.html table.include.list
一个可选的以逗号分隔的正则表达式列表,匹配您希望 Debezium 捕获的表的完全限定表标识符;未包含在 table.include.list 中的任何表都将从捕获中排除。每个标识符的格式为 schemaName.tableName。默认情况下,连接器会捕获指定模式的所有非系统表。不得与 table.exclude.list 一起使用。
当我运行这个连接器时,kafka 不尊重 table.exclude.list。列出主题显示所有表已被捕获。 TEST_A 主题也在那里。我也试过 "snapshot.include.collection.list": "Test.dbo.TEST_A" 没有结果。我错过了什么?
【问题讨论】:
dbo.TEST_A 中的 dbo 是什么?您已指定 "database.dbname": "Test"。所以,“table.include.list”应该是“Test.TEST_A”。 【参考方案1】:我发现它应该是 table.whitelist 而不是 table.include.list。不知道为什么。
【讨论】:
以上是关于带有连接 table.include.list 的 Debezium docker 不起作用的主要内容,如果未能解决你的问题,请参考以下文章
Kafka 连接(Debezium mysql 连接器)只监听 table.include.list 中的特定表
table.include.list 配置参数在 Debezium Postgres 连接器中不起作用
删除“table.include.list”不会强制 Debezium 为数据库中的其余表创建主题