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

C#中Kafka消费者订阅多主题时如何获取单条消息的所属主题

多主题监听时获取消息所属Kafka主题的方法

你使用的Confluent.Kafka .NET客户端中,Consume()方法返回的ConsumeResult<TKey, TValue>实例直接内置了消息的元数据属性,直接访问Topic属性即可获取当前消息所属的主题名称,不需要从Message属性中读取。

修改后的参考代码如下:

consumer.Subscribe(new string[] {"topic1", "topic2"});
var cr = consumer.Consume();
// 直接读取ConsumeResult的Topic属性即可拿到主题名
Console.Write($"所属主题: {cr.Topic}\r\nkey: {cr.Message.Key}\r\nvalue: {cr.Message.Value}");

额外说明:除了主题名称之外,消息对应的分区信息、偏移量等Kafka服务端产生的元数据,也都存放在ConsumeResult的根属性中,对应Partition、Offset属性。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 10:15:03