尝试通过
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
我认为您错过了
--property parse.headers=true
,因为默认值是 false。另外我认为你需要像这样重写你的消息:
h1:v1,h2:v2;{"status": "success", "properties": []}
并用这个生产:
--property parse.headers=true --property headers.delimiter=';'
这将起作用,因为默认值是:
headers.key.separator=:
和headers.separator=,