【发布时间】:2017-05-18 15:47:09
【问题描述】:
如何使用Kafka REST Proxy删除Kafka主题?我尝试了以下命令,但它返回错误消息:
curl -X DELETE XXX.XX.XXX.XX:9092/topics/test_topic
如果不可能,那么如何更新删除消息和更新主题的方案?
【问题讨论】:
标签: rest apache-kafka http-proxy jms-topic
如何使用Kafka REST Proxy删除Kafka主题?我尝试了以下命令,但它返回错误消息:
curl -X DELETE XXX.XX.XXX.XX:9092/topics/test_topic
如果不可能,那么如何更新删除消息和更新主题的方案?
【问题讨论】:
标签: rest apache-kafka http-proxy jms-topic
根据文档API Reference,您不能通过 REST 代理删除主题,我同意他们的观点,因为这种破坏性操作不应该通过暴露在外部的接口进行。
可以使用命令行实用程序在运行代理的服务器上执行主题删除操作。见How to Delete a topic in apache kafka
【讨论】:
您可以在使用 POST /topics/(string: topic_name) REST 端点发布消息时更新消息的架构。如果新消息的架构与同一主题中的旧消息不向后兼容,则必须配置架构注册表以允许发布不兼容的消息,否则会出错。
在此处查看“示例 Avro 请求”: http://docs.confluent.io/3.1.1/kafka-rest/docs/api.html#post--topics-(string-topic_name)
查看如何配置模式注册表以实现向前、向后或不兼容,请参阅此处的文档: http://docs.confluent.io/3.1.1/schema-registry/docs/api.html#compatibility
【讨论】:
我确认从5.5.0或更高版本开始支持,测试结果正常。 (REST 代理 API v3)
【讨论】: