0

I have a curl command given like this i'm trying to do a curl to create a topic on confluent kafka i have an issue understanding this curl statement, on official documentation curl command is given as below

$ curl "http://localhost:8082/topics/test"
  {"name":"test","num_partitions":3}

https://docs.confluent.io/2.0.0/kafka-rest/docs/intro.html#inspect-topic-metadata Do i have to consider {"name":"test","num_partitions":3} as data or is it a part of curl command..?

Robin Moffatt
  • 30,382
  • 3
  • 65
  • 92
Nitin Chandra
  • 57
  • 1
  • 8
  • Does this answer your question? [Is it possible to create a topic with Kafka Rest Proxy?](https://stackoverflow.com/questions/37764243/is-it-possible-to-create-a-topic-with-kafka-rest-proxy) – Michael Heil Jun 05 '20 at 13:39

1 Answers1

2

You're using v2.0 of the docs, I'd recommend the latest (currently 5.5)

To create a topic you can use the new API that was added in 5.5:

curl -s -X POST 'http://localhost:8082/v3/clusters/rgfnzs2RS3O65A7VSpNatg/topics' \
--header 'Content-Type: application/vnd.api+json' \
--data-raw '{
  "data": {
    "attributes": {
      "topic_name": "rmoff_topic03",
      "partitions_count": 1,
      "replication_factor": 1
    }
  }
}'

You need to get your cluster ID (rgfnzs2RS3O65A7VSpNatg in the example above), which you can do with

➜ curl -s -X GET 'localhost:8082/v3/clusters'| jq '.data[0].attributes.cluster_id'
"rgfnzs2RS3O65A7VSpNatg"

Ref: v3 API docs


To delete a topic use the corresponding API:

curl -s -X DELETE 'http://localhost:8082/v3/clusters/rgfnzs2RS3O65A7VSpNatg/topics/rmoff_topic03'
Robin Moffatt
  • 30,382
  • 3
  • 65
  • 92