通过 kafka CLI 生成带有标头的 json 消息

问题描述 投票:0回答:1

尝试通过

kafka kafka-console-producer.sh

生成简单的消息

留言:

{"status": "success", "properties": []}

标题:

HeaderKey1:HeaderValue1
HeaderKey2:HeaderValue2

CLI API 并不清楚如何做到这一点

源message.txt文件:

HeaderKey1:HeaderValue1
HeaderKey2:HeaderValue2

{"status": "success", "properties": []}
cat message.txt | \
  docker exec -i kafka kafka-console-producer.sh \
  --bootstrap-server localhost:9092 \
  --topic test_topic \
  --property parse.key=true \
  --property key.separator=\n \
  --property headers.delimiter=:

期望 headers 会进入 headers,json 会进入 value

shell apache-kafka kafka-producer-api
1个回答
0
投票

我认为您错过了

--property parse.headers=true
,因为默认值是 false。另外我认为你需要像这样重写你的消息:

h1:v1,h2:v2;{"status": "success", "properties": []}

并用这个生产:

--property parse.headers=true  --property headers.delimiter=';'

这将起作用,因为默认值是:

headers.key.separator=:
headers.separator=,

© www.soinside.com 2019 - 2024. All rights reserved.