如何通过Debezium Server将Outbox表字段转为PubSub消息属性?
问题排查与解决方案
确认Outbox表结构与数据
先检查你的Outbox表是否确实包含event_type字段,且该字段存储了符合过滤规则要求的有效值。字段名大小写要和配置里的event_type完全一致(数据库如果是大小写敏感的话尤其要注意)。验证Outbox转换的日志输出
开启Debezium的Outbox转换调试日志,查看是否成功将event_type提取到事件头部:logging.level.io.debezium.transforms.outbox=DEBUG启动Debezium Server后,查看日志中是否有类似
Added header 'eventType' with value 'xxx'的记录,确认字段值被正确提取。确认GCP PubSub Sink的头部映射
Debezium的GCP PubSub Sink默认会将Debezium事件的headers中的所有键值对转换为PubSub消息的属性,无需额外配置。但如果你之前修改过sink的相关配置,要确保没有禁用这个行为,比如没有设置gcp.pubsub.headers.include之类的限制参数。检查订阅过滤规则的语法
确认PubSub订阅的过滤规则语法正确,比如如果你的属性是eventType,过滤规则应该类似attributes.eventType = 'ORDER_CREATED'(注意属性名和值的大小写要和实际传递的一致)。
内容的提问来源于stack exchange,提问作者Arjun
相关产品推荐
相关产品推荐

