开发者社区> 问答> 正文

canal.mq.dynamicTopic类型问题 :大神,我想把多个分表写入同一个topic,配置

大神,我想把多个分表写入同一个topic,配置如下,但现在问题是kafka按照表的名字创建出几百个topic出来,我只是想创建一个topic: oms_waybill_01_waybill 。这是我的配置 :canal.mq.dynamicTopic=oms_waybill_01_waybill:^oms_waybill_0.waybill_([1-9]\d|\d)$,^oms_waybill_1.waybill_([1-9]\d|\d)$

解释一下 :

^oms_waybill_0.waybill_([1-9]\d|\d)$是0号库的100个分表, ^oms_waybill_1.waybill_([1-9]\d|\d)$是1号库的1百个分表

还有个问题 :你们的这个提交问题的编辑器会把 双斜杠,保存后变成 单斜杠

原提问者GitHub用户Bruce2jiang

展开
收起
古拉古拉 2023-05-08 13:34:13 264 0
2 条回答
写回答
取消 提交回答
  • 多个分隔条件,不要用逗号分隔,写两遍. oms_waybill_01_waybill:^oms_waybill_0.waybill_([1-9]\d|\d)$ ; oms_waybill_01_waybill:^oms_waybill_1.waybill_([1-9]\d|\d)$

    原回答者GitHub用户agapple

    2023-05-09 17:42:21
    赞同 展开评论 打赏
  • 随心分享,欢迎友善交流讨论:)

    关于canal.mq.dynamicTopic的配置,您可以使用通配符匹配,例如:

    canal.mq.dynamicTopic=oms_waybill_01_waybill:oms_waybill_*.waybill_([1-9]d|d)$

    其中,* 表示匹配任意字符,. 表示匹配 . 字符, 表示转义字符,用于表示 . 字符。

    这样配置后,只会创建一个名为 "oms_waybill_01_waybill" 的topic,并且它将匹配以 "oms_waybill_" 开头,以 ".waybill_" 结尾的表名。

    关于您提到的编辑器问题,它可能与编辑器的自动转义机制有关。您可以尝试在输入时使用单斜杠,并检查保存后它是否被转义为双斜杠。

    2023-05-08 13:36:28
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
RocketMQ Client-GO 介绍 立即下载
RocketMQ Prometheus Exporter 打造定制化 DevOps 平台 立即下载
基于 RocketMQ Prometheus Exporter 打造定制化 DevOps 平台 立即下载