You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何正确配置IBM MQ Sink Connector的Kafka Topic正则匹配规则

连接器正则表达式匹配Topic配置问题

问题场景

原连接器配置:

connectors: [
        {
          taskMax: 6,
          ......
          type: 'API',
          sourceTopic: 'A2_Source',
          destinationTopic: 'A3_Dest',
          isShadow: true,
        },
      ],

为新增匹配的Topic,尝试改用正则表达式配置:

connectors: [
        {
          taskMax: 6,
          ......
          type: 'API',
          sourceTopicsRegex: ['A2_Source,(*_)_A4_Source'],
          destinationTopic: 'A3_Dest',
          isShadow: true,
        },
  ],

预期匹配的Topic:

A2_Source
PRD_XX_YY_A4_Source

但构建时系统仅将A2_Source,(*_)_A4_Source识别为普通字符串,无法实现正则匹配。

错误原因与修正方案

  • 格式错误:sourceTopicsRegex的数组元素需是独立的正则规则,不能把多个规则用逗号拼接成单个字符串。
  • 正则语法错误:(*_)是无效写法,匹配任意前缀应该用.*_(.匹配任意单个字符,*表示重复零次或多次)。

方案一:数组元素分别定义规则

这是最清晰的写法,每个规则对应一个数组元素:

connectors: [
        {
          taskMax: 6,
          ......
          type: 'API',
          sourceTopicsRegex: ['A2_Source', '.*_A4_Source'],
          destinationTopic: 'A3_Dest',
          isShadow: true,
        },
  ],
  • 'A2_Source':精确匹配该Topic名称
  • '.*_A4_Source':匹配所有以_A4_Source结尾的Topic,比如PRD_XX_YY_A4_Source

方案二:单个正则表达式合并规则

如果想用一个正则同时匹配两种情况,可使用正则的或运算符|:

connectors: [
        {
          taskMax: 6,
          ......
          type: 'API',
          sourceTopicsRegex: ['A2_Source|.*_A4_Source'],
          destinationTopic: 'A3_Dest',
          isShadow: true,
        },
  ],

这个正则会同时匹配A2_Source和符合xxx_A4_Source格式的Topic。

内容的提问来源于stack exchange,提问作者Achu

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.09 22:31:11