如何访问kafka生产者使用的confluence注册表模式id?

问题描述 投票:0回答:1

我有一个使用融合模式注册表的 kafka 生产者。我知道有一种算法,基于该算法,

KafkaAvroSerializer
从汇合模式注册表中找到匹配的 schemaId(或在注册模式后获取它),以便将其作为有线格式的一部分包含在内。

有没有办法可以访问生产者添加到消息中的特定架构 ID?

apache-kafka kafka-producer-api confluent-schema-registry
1个回答
0
投票

您可以使用

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();
© www.soinside.com 2019 - 2024. All rights reserved.