如何在 C# 中反序列化 ksql 查询的行键?

How to deserialize the rowkey of a ksql query in c#?

我想显示查询结果的ROWKEY。不幸的是,它没有被序列化,因为 ksql 目前不支持它。没问题,我可以自己做。但是我不知道怎么办..

所以如果我通过休息来做到这一点 api:

SELECT ROWKEY FROM topic

如何将此结果转化为我可以在 C# 中实际使用的结果?

结果(例如:\u0000\u0000\u0000\u0000\u0001�\b\u0000�\f)的结构是怎样的?它是否包含魔术字节或其他内容?

我尝试了这里的解决方案:

全部具有不同版本的结果字节[] ...例如附加了魔术字节,从开头删除字节..将开头的字节替换为魔术字节等

编辑:我在谈论一个使用 C# 而不是单独使用 KSQL Server 的编程解决方案

据我所知,你不能。 KSQL 当前不支持除字符串以外的任何键。您不能通过 KSQL 将主题中的 Avro 密钥传递给消费者,然后再反序列化 Avro。

如果您需要获取密钥,则只需使用本机使用者使用支持 KSQL stream/table 的 Kafka 主题,然后从那里对其进行反序列化。