我试着用kcat工具制作卡夫卡消息。我有一条消息如下主题模式:
{
"meta": {
"correlationId": "244c7ed3-0472-496e-bed9-7071f8ddb921",
"payload": {
"id": "3ae843e9-0c96-4ee8-b1f0-fbdfef30e9dd",
"timestamp": 1658846522
}
}
}将其存储到文件k-msg-test.json并运行kcat
kcat \
-b localhost:9092 \
-r localhost:8081 \
-t test-topic \
-T \
-P \
/tmp/k-msg-test.json我得到了一个错误:
% Failed to open : No such file or directory
/tmp/k-msg-test.json: line 2: meta:: command not found
/tmp/k-msg-test.json: line 3: correlationId:: command not found
/tmp/k-msg-test.json: line 4: payload:: command not found
/tmp/k-msg-test.json: line 5: id:: command not found
/tmp/k-msg-test.json: line 6: timestamp:: command not found
/tmp/k-msg-test.json: line 8: syntax error near unexpected token `}'
/tmp/k-msg-test.json: line 8: ` }'所以问题是-我怎样才能传达信息?
发布于 2022-07-27 13:18:25
显然,您的文件被解释为对shell的文字文本,而不是由kcat读取。
您需要使用shell重定向,因为kcat接受stdin,而不是文件参数。
您还需要删除新行并将其生成为一行。你可以用jq来做
kcat \
-b localhost:9092 \
-r localhost:8081 \
-t test-topic \
-T \
-P < $(jq -rc '.' /tmp/k-msg-test.json)https://stackoverflow.com/questions/73135491
复制相似问题