代码之家  ›  专栏  ›  技术社区  ›  Bastian Venthur

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

  •  0
  • Bastian Venthur  · 技术社区  · 8 年前

    我们正在使用卡夫卡、Avro和Avro模式注册表。给定一组我想消费的主题,有没有办法 全部的 解码我将收到的消息所需的架构ID?

    我已经检查了Confluent的Python客户端的实现,以及它似乎是什么 doing 就是接收消息,从单个消息中获取Avro模式ID,然后动态地从Avro模式注册表中查找模式。

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

    1 回复  |  直到 8 年前
        1
  •  1
  •   asolanki    8 年前

    是的,你可以得到任何主题数据的模式

    剩下的api是

    GET /subjects/(string: subject)/versions
    

    获取在指定主题下注册的版本列表。 subject指的是-key或-value,这取决于您是为该主题注册key模式还是值模式

    一旦获得模式的版本,就可以使用

    GET /subjects/(string: subject)/versions/(versionId: version)/schema
    

    参考

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

        2
  •  0
  •   RohitG    6 年前

    通过对schema registry运行API调用,可以在schema registry中获得可用的架构定义,如:

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

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

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

    这是confluent平台的3.3版。您可以将其更改为current以获取当前平台文档。

    推荐文章