我们正在使用Kafka,Avro和Avro Schema Registry。鉴于我想要使用的一组主题,有没有办法获得解码我收到的邮件所需的所有架构ID?
我已经检查了Confluent的Python客户端的实现,看起来doing的内容是接收消息,从单个消息中获取Avro架构ID,然后查找架构来自Avro Schema Registry的动态。
我正在寻找一种方法来获取所需的所有模式>执行程序之前(即手动)。
答案 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以获得最新的平台文档。