如何从Confluent Schema Registry中获取所有必需的Avro Schemas给出一组主题

时间:2018-06-06 10:25:55

标签: apache-kafka avro confluent-schema-registry

我们正在使用Kafka,Avro和Avro Schema Registry。鉴于我想要使用的一组主题,有没有办法获得解码我收到的邮件所需的所有架构ID?

我已经检查了Confluent的Python客户端的实现,看起来doing的内容是接收消息,从单个消息中获取Avro架构ID,然后查找架构来自Avro Schema Registry的动态。

我正在寻找一种方法来获取所需的所有模式执行程序之前(即手动)。

2 个答案:

答案 0 :(得分:0)

是的,您可以获取任何主题数据的架构

其余的api是

GET /subjects/(string: subject)/versions

获取在指定主题下注册的版本列表。 主题是指“-key”还是“-value”,具体取决于您是注册该主题的关键模式还是值模式

获得架构版本后,您可以使用

获取每个版本的架构
GET /subjects/(string: subject)/versions/(versionId: version)/schema

参考

https://docs.confluent.io/current/schema-registry/docs/api.html

答案 1 :(得分:0)

通过运行对模式注册表的API调用,您可以在模式注册表中获得可用的模式定义:

卷曲http:// localhost:8081 / schemas / ids / 3

,其中URL中的最后一个数字是您感兴趣的模式#。如果代理中有多种消息类型,则可以更改URL中的最后#以获取不同消息类型的不同模式定义

有关API调用的详细信息,请参阅:https://docs.confluent.io/3.3.0/schema-registry/docs/api.html#schemas

这是融合平台的3.3版本。您可以将其更改为current以获得最新的平台文档。