如何访问Kafka producer使用的confluent registry schema id?

ep6jt1vc  于 12个月前  发布在  Apache
关注(0)|答案(1)|浏览(212)

我有一个使用confluent schema registry的Kafka producer。我知道有一种算法,基于该算法,KafkaAvroSerializer从confluent schema registry中找到匹配的schemaId(或在注册schema后获取它),以便将其包含为wire格式的一部分。
有没有一种方法可以让我访问由生产者添加到消息中的特定模式ID?

anauzrmj

anauzrmj1#

您可以使用CachedSchemaRegistryClient类执行HTTP查找以获取ID。
否则,您可以使用ByteBuffer

Serializer s = new KafkaAvroSerializer();
s.configure(...); // give properties like registry url 
byte[] value = s.serialize(record); // example

ByteBuffer bb = ByteBuffer.wrap(value);
bb.get(); // magic byte
int schemaId = bb.getInt();

字符串

相关问题