我想显示查询结果的ROWKEY。不幸的是,它未序列化,因为ksql当前不支持此功能。没问题,我可以自己做。但是我不知道如何。
因此,如果我通过rest api执行此操作:
SELECT ROWKEY FROM topic
如何将该结果转换为可在C#中实际使用的内容?
结果如何构成(例如:\ u0000 \ u0000 \ u0000 \ u0000 \u0001�\ b \u0000�\ f)?它是否包含魔术字节或其他内容?
我从这里尝试了解决方案:
Deserialize an Avro file with C#
所有具有不同版本的结果字节[] ...例如,附加了魔术字节,从开头删除字节..将开头的字节替换为魔术字节,等等。
编辑:iam在谈论使用C#而不是单独使用KSQL Server的编程解决方案
答案 0 :(得分:1)
您无法做到的AFAIK。 KSQL当前不支持除字符串以外的任何键。您无法通过KSQL从主题传递Avro密钥,然后再传递给使用反序列化Avro的使用者。
如果需要获取密钥,则只需使用本机使用者使用支持KSQL流/表的Kafka主题,然后从那里反序列化即可。