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

时间:2019-10-24 19:13:46

标签: c# avro ksql

我想显示查询结果的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的编程解决方案

1 个答案:

答案 0 :(得分:1)

您无法做到的AFAIK。 KSQL当前不支持除字符串以外的任何键。您无法通过KSQL从主题传递Avro密钥,然后再传递给使用反序列化Avro的使用者。

如果需要获取密钥,则只需使用本机使用者使用支持KSQL流/表的Kafka主题,然后从那里反序列化即可。