java - 从 Confluence Schema 注册表中检索 Schema

标签 java apache-kafka confluent-schema-registry

我正在尝试从模式注册表中检索给定 kafka 主题的模式主题版本。我可以使用 client.register(schema-name, schema) 成功发布新版本,但我不确定如何检索版本。我在下面尝试使用curl请求,但结果立即达到-1(空)。

CachedSchemaRegistryClient client = new CachedSchemaRegistryClient(schemaRegistryUrl, 20);

// curl -X GET http://schema.registry.url:8888/subjects/{topic}/versions/

String command = "curl -X GET --header 'Accept: application/vnd.schemaregistry.v1+json' 'https://schema.registry.url:8888/api/schema-proxy/subjects/mytopic-value/versions'";
Process process = Runtime.getRuntime().exec(command);

Reader reader = new InputStreamReader(process.getInputStream());
int result;
while ((result = reader.read()) != -1){ // Nothing printed
    System.out.println(result);
}

如何修复此 GET 请求,或者更好的是,我应该如何使用架构注册表客户端来检索架构?

最佳答案

使用以下方法解决了这个问题:

SchemaMetadata sm = client.getLatestSchemaMetadata(schemaName);
System.out.println(sm.getSchema());

关于java - 从 Confluence Schema 注册表中检索 Schema,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61109427/

相关文章:

java - 口水工作台 : How to call User defined static Java Method from Drool Rule

java - StringBuffer 追加 ("")

java - Java中如何获取当前工作目录?

java - Spring 数据休息,url 参数中的 java.util.Date?

java - Kafka + Spring Boot + Docker Compose - 接收重复消息

apache-kafka - 如何在没有 kill 命令的情况下安全地重启 kafka-manager?

go - Kafka 0.11/Golang Sarama 版本支持

java - 为什么将 Avro 与 Kafka 一起使用 - 如何处理 POJO

java - Kafka Avro 序列化器和反序列化器异常。 Avro 支持的类型

elasticsearch - 将 Elasticsearch 与 Kafka Connect 连接时如何解决 "schema.registry.url"中的问题?