将 cdc 限制为特定集合的 Debezium mongodb 连接器属性

Posted

技术标签:

【中文标题】将 cdc 限制为特定集合的 Debezium mongodb 连接器属性【英文标题】:Debezium mongodb connector properties to limit cdc to specific collections 【发布时间】:2020-04-04 08:48:28 【问题描述】:

我们能否限制我们在 debezium mongodb 的连接器属性中检索到的数据量 连接器配置。由于 debezium 在数据库中查找 cdc,根据我的理解,它适用于整个数据库,但我找不到一种限制少数特定集合的方法。 我在我的 debezium 连接器中使用 mongodb atlas 连接链接。

以下是我的连接器配置:


    "name": "inventory-connector",
    "config": 
        "connector.class" : "io.debezium.connector.mongodb.MongoDbConnector",
        "tasks.max" : "1",
        "mongodb.hosts" : "mongodb+srv link",
        "mongodb.name" : "database",
        "mongodb.user" : "user1",
        "mongodb.password" : "password",
        "mongodb.ssl.enabled" : true,
        "database.whitelist" : "db[.]*",
        "database.history.kafka.bootstrap.servers" : "kafka:9092",
        "transforms": "route",
        "transforms.route.type" : "org.apache.kafka.connect.transforms.RegexRouter",
        "transforms.route.regex" : "([^.]+)\\.([^.]+)\\.([^.]+)",
        "transforms.route.replacement" : "$3"
    

如何将其配置为仅在我的数据库中查找特定集合

【问题讨论】:

【参考方案1】:

根据Debezium Connector for MongoDB documentation 您可以在连接器配置上使用collection.whitelist 来解决您的问题

【讨论】:

以上是关于将 cdc 限制为特定集合的 Debezium mongodb 连接器属性的主要内容,如果未能解决你的问题,请参考以下文章

Debezium 没有为 mysql 提供嵌入式版本的 CDC

使用带有 Avro 序列化的 Debezium mongodb CDC 创建的模式太多

flink cdc debezium 读取decimal为字符串问题

PostgreSQL 和事务上的 Debezium CDC

SpringBoot整合Debezium CDC同步数据至目标数据库

CDC 与 docker 中的 debezium