1

我们正在使用 Kafka、Avro 和 Avro Schema Registry。给定一组我想要使用的主题,有没有办法获取解码我将收到的消息所需的所有模式 ID?

我已经检查了 Confluent 的 Python 客户端的实现,它似乎正在的是接收消息,从单个消息中获取 Avro 模式 ID,然后即时从 Avro 模式注册表中查找模式。

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

4

2 回答 2

1

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

剩下的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

于 2018-06-06T12:17:52.773 回答
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 版本。您可以将其更改为当前以获取当前平台文档。

于 2020-07-07T06:45:59.133 回答