首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何用kcat制作卡夫卡信息?

如何用kcat制作卡夫卡信息?
EN

Stack Overflow用户
提问于 2022-07-27 09:32:57
回答 1查看 299关注 0票数 0

我试着用kcat工具制作卡夫卡消息。我有一条消息如下主题模式:

代码语言:javascript
复制
{
  "meta": {
    "correlationId": "244c7ed3-0472-496e-bed9-7071f8ddb921",
    "payload": {
      "id": "3ae843e9-0c96-4ee8-b1f0-fbdfef30e9dd",
      "timestamp": 1658846522
    }
  }
}

将其存储到文件k-msg-test.json并运行kcat

代码语言:javascript
复制
kcat \
  -b localhost:9092 \
  -r localhost:8081 \
  -t test-topic \
  -T \
  -P \
  /tmp/k-msg-test.json

我得到了一个错误:

代码语言:javascript
复制
% 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: `  }'

所以问题是-我怎样才能传达信息?

EN

回答 1

Stack Overflow用户

发布于 2022-07-27 13:18:25

显然,您的文件被解释为对shell的文字文本,而不是由kcat读取。

您需要使用shell重定向,因为kcat接受stdin,而不是文件参数。

您还需要删除新行并将其生成为一行。你可以用jq来做

代码语言:javascript
复制
kcat \
  -b localhost:9092 \
  -r localhost:8081 \
  -t test-topic \
  -T \
  -P < $(jq -rc '.' /tmp/k-msg-test.json)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73135491

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档