kafkacat を使用してトピック内のメッセージを検索し、それをトピックに公開しようとしています。メッセージ値はバイト単位にする必要があるため、protobuf を使用します (キーは、文字列やバイトなど異なる場合があります)。ただし、適切に逆シリアル化できるメッセージを公開できません。
どうすればこれをkafkacatで行うことができますか? また、これを行うために他の推奨ツールを使用することにもオープンです。
試行例:
kafkacat -b <broker> -t <topic> -o -10 -e -c 1 -C -K: > test2.txt
cat test2.txt | kafkacat -b <broker> -t <topic> -P -K:
test2.txt は以下を示します:
21aa7e2f-41a1-4972-9108-3057627d53f0:
Y/<protobuf.class.path>i
$21aa7e2f-41a1-4972-9108-3057627d53f0A
DIABETEBG_METERBG300"BG300*QP3687WK02000012????
しかし、同じ kafkacat consumer コマンドを使用して結果を取得すると、最後の行が表示されます。
DIABETEBG_METERBG300"BG300*QP3687WK02000012????
問題は、消費する出力行 (ペイロードの一部である可能性がありますか?) と、プロデューサーが各行を新しいメッセージとして扱っていることだと思います。