Получение нежелательного значения в ответе api kafka res

#apache-kafka #confluent-cloud

#apache-kafka #confluent-cloud

Вопрос:

Я использую rest api для получения темы if из экземпляра kafka в confluent cloud

Я использую приведенную ниже команду curl

 curl "http://(myhost):9092/topics/(topicname)" --output op.txt
  

но я получаю нежелательное значение в op.txt виде

 "U^C^C^@^B^BP"
  

Есть ли какое-либо решение для этого?

Ответ №1:

Вы не можете использовать REST для использования из Confluent Cloud (пока). С вашими данными в Confluent Cloud вы можете использовать такие инструменты, как ccloud или kafkacat для доступа к вашим данным из командной строки.

Confluent Cloud CLI ( ccloud )

 $ ccloud kafka topic consume --from-beginning rmoff_test_topic_01
Starting Kafka Consumer. ^C or ^D to exit
Hello world!
This is a message on a topic in Confluent Cloud
  

kafkacat

Вы можете запустить kafkacat локально или использовать его из Docker.

 docker run --rm --interactive edenhill/kafkacat:1.6.0 
            -X security.protocol=SASL_SSL -X sasl.mechanisms=PLAIN 
            -X ssl.ca.location=./etc/ssl/cert.pem -X api.version.request=true 
            -b $CCLOUD_BROKER_HOST 
            -X sasl.username="$CCLOUD_API_KEY" 
            -X sasl.password="$CCLOUD_API_SECRET" 
            -t rmoff_test_topic_01 -C -u -e
Hello world!
This is a message on a topic in Confluent Cloud
  

Вы также можете вывести сообщение в формате JSON, что может быть полезно:

 docker run --rm --interactive edenhill/kafkacat:1.6.0 
            -X security.protocol=SASL_SSL -X sasl.mechanisms=PLAIN 
            -X ssl.ca.location=./etc/ssl/cert.pem -X api.version.request=true 
            -b $CCLOUD_BROKER_HOST 
            -X sasl.username="$CCLOUD_API_KEY" 
            -X sasl.password="$CCLOUD_API_SECRET" 
            -t rmoff_test_topic_01 -C -u -J -e
  
 {
  "topic": "rmoff_test_topic_01",
  "partition": 0,
  "offset": 0,
  "tstype": "create",
  "ts": 1604571163960,
  "broker": 7,
  "key": null,
  "payload": "Hello world!"
}
{
  "topic": "rmoff_test_topic_01",
  "partition": 3,
  "offset": 0,
  "tstype": "create",
  "ts": 1604571168723,
  "broker": 1,
  "key": null,
  "payload": "This is a message on a topic in Confluent Cloud"
}