我正在探索将ITSM系统与Kafka集成的选项。这需要通过rest代理API向Kafka发送Protobuf消息。
我遵循了以下两篇文章,并设置了请求正文和标题。
https://quachtd.com/using-kafka-rest-proxy-with-protobuf/
https://docs.confluent.io/platform/current/kafka-rest/quickstart.html#produce-并消耗protobuf消息
在Confluent上,我创建了一个主题和一个用于测试的模式。虽然我能够通过JSON在主题下生成消息,但我无法生成Protobuf消息。
我甚至无法测试"GET"方法,因为我找不到SchemaRegistryHost和端口。如何从Confluent控制台获取这些详细信息?http://{SchemaRegistryHost}:{SchemaRegistryPort}/subjects/salesord_topic-value/versions/1
尽管我手动获取了Schema ID并在输入中提供了它,但我收到了消息"{"error_code":405,"message":"HTTP 405 Method Not Allowed"}"。这让我思考是否需要对Schema执行任何操作才能使"POST"方法正常工作。
此外,由于这不是JSON,我想知道我是否不能在Postman中测试它。如果可能的话,我该如何测试它,否则还有什么其他工具可以帮助我执行测试?
在此处输入图像描述
在将架构添加到注册表之前,必须将模式设置为IMPORT。
mode参数定义允许对架构执行哪些操作。
IMPORT
READONLY
READWRITE
第一个允许导入模式并指定id和版本。
您可以为所有主题或特定主题设置模式。要在模式注册表上启用模式更改,您必须在启动之前在模式注册表属性文件中设置以下属性:
mode.mutability=真正的
对于curl,您可以使用以下命令:
curl -X PUT -H "Content-Type: application/json" http://{SchemaRegistryHost}:{SchemaRegistryPort}/mode --data '{"mode": "IMPORT"}'