使用MessagePack从Kafka反序列化字节消息

问题描述

尝试反序列化kafka消息时,出现消息包额外的数据错误

我使用kafka的生产者控制台将测试消息发送到kafka:kafka_message

在收到消费者的message = kafka_message.value() msgpack.unpackb(message,raw=False) 之后,我尝试使用以下方法反序列化:

*** msgpack.exceptions.ExTradata: unpack(b) received extra data.

这给了我

(Pdb) message
b'Test'
(Pdb) codecs.decode(message)
'Test'
(Pdb) type(message)
<class 'bytes'>
(Pdb) msgpack.unpackb(message,raw=False)
*** msgpack.exceptions.ExTradata: unpack(b) received extra data.
(Pdb) msgpack.unpackb(message,object_hook=codecs.decode,raw=False)
*** msgpack.exceptions.ExTradata: unpack(b) received extra data.

如果我检查消息本身,则会得到:

codecs.decode

我想使用消息包进行反序列化,而不是切换到{{1}}。有什么提示吗?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)