【问题描述】在消费kafka消息的时候需要捕获到写入该条消息的时间
for msg := range pc.Messages() {
fmt.Fprintf(os.Stdout, "%s/%d/%d\t%s=%s,%s\n", msg.Topic, msg.Partition, msg.Offset, msg.Key, msg.Value,
msg.Timestamp.Format("2006-01-02 15:04:05"))
// 标记消息已被处理并提交当前偏移量
// 第2个参数传入空串 "" 表示不提供任何元数据。在大多数情况下,如果不需要提供额外信息,可以传递空串以简化调用
consumer.MarkOffset(msg, "")
}
msg.Timestamp.Format("2006-01-02 15:04:05")对应输出的时间永远都是0001-01-01 00:00:00
【报错】所期望的需求没达到,没有报错信息
【解决方法】显示指定kafka的版本>=0.10
kafkaVersion, err := sarama.ParseKafkaVersion("2.6.0")
if err != nil {
panic(err)
}
config.Version = kafkaVersion
提示:timestamp从0.10版本开始支持