可以用kafka rest代理创建一个主题吗?

pb3s4cty  于 2021-06-07  发布在  Kafka
关注(0)|答案(4)|浏览(509)

我正在尝试从kafka rest代理创建一个主题,但是我没有看到任何关于它的文档。我希望有一种方法可以做到这一点,这样我就不需要以编程的方式创建一个与其他所有交流不同的主题。有人知道可能吗?
我在这里没有看到任何文档:http://docs.confluent.io/1.0/kafka-rest/docs/api.html.
谢谢你的帮助。

eyh26e7m

eyh26e7m1#

有了版本3的rest代理api,现在就可以了。
根据confluent rest proxy api参考,可以使用rest proxy api v3创建主题,该版本当前可用作预览功能。
主题创建请求的示例如下所示,并记录在此处:

POST /v3/clusters/cluster-1/topics HTTP/1.1
Host: kafkaproxy.example.com
Content-Type: application/vnd.api+json
Accept: application/vnd.api+json

{
  "data": {
    "attributes": {
      "topic_name": "topic-1",
      "partitions_count": 2,
      "replication_factor": 3,
      "configs": [
        {
          "name": "cleanup.policy",
          "value": "compact"
        }
      ]
    }
  }
}

使用 curl :

curl -X POST -H "Content-Type: application/vnd.api+json" -H "Accept: application/vnd.api+json" \
          --data '{"data":{"attributes": {"topic_name": "topic-1", "partitions_count": 2, "replication_factor": 1, "configs": [{"name": "cleanup.policy","value": "compact"}]}}}' \
          "http://localhost:8082/v3/clusters/<cluster-id>/topics"

在哪里 cluster-id 可以使用

curl -X GET -H "Accept: application/vnd.api+json" localhost:8082/v3/clusters
ef1yzkbh

ef1yzkbh2#

还没有显式的管理api来在rest代理中创建主题,但是如果kafka代理属性auto.cratet.topics.enable设置为true,则在您第一次发布到主题时会创建该主题,包括发布来自代理的情况。更多关于如何在ApacheKafka中创建主题的信息?

ttvkxqim

ttvkxqim3#

不,问题是没有创建主题的协议支持(至少还没有)。请看我前面的问题,并阅读评论。

ttvkxqim

ttvkxqim4#

您可以使用azure hdinsight kafka rest代理创建主题。https://docs.microsoft.com/en-us/rest/api/hdinsight-kafka-rest-proxy/admin
更多详情请参见:https://docs.microsoft.com/en-us/azure/hdinsight/kafka/rest-proxy

相关问题