簡體   English   中英

如何使用控制台生產者在 Kafka 0.11 中生成帶有標頭的消息?

[英]How to produce messages with headers in Kafka 0.11 using console producer?

如何使用控制台生產者在 Kafka 0.11 中生成帶有標頭的消息?

我在 Kafka 文檔中沒有找到任何關於此的描述。

更新:從 Kafka 3.2 開始,您可以使用kafka-console-producer.sh工具生成帶有標題的記錄。 詳情見https://cwiki.apache.org/confluence/display/KAFKA/KIP-798%3A+Add+possibility+to+write+kafka+headers+in+Kafka+Console+Producer


使用kafka-console-producer.sh工具 ( ConsoleProducer.scala ) 您無法生成帶有標題的消息。

您需要編寫自己的小型應用程序。 創建ProducerRecord時傳入Headers 例如:

public static void main(String[] args) throws Exception {
    Properties producerConfig = new Properties();
    producerConfig.load(new FileInputStream("producer.properties"));

    KafkaProducer<String, String> producer = new KafkaProducer<>(producerConfig);

    List<Header> headers = Arrays.asList(new RecordHeader("header_key", "header_value".getBytes()));
    ProducerRecord<String, String> record = new ProducerRecord<>("topic", 0, "key", "value", headers);
    Future<RecordMetadata> future = producer.send(record);
    future.get();

    producer.close();
}

您還可以使用kcat生成帶有標題的消息。

kcat -P -b localhost:9092 -H "facilityCountryCode=US" -H "facilityNum=32619" \
-t test.topic.to.mq -f testkafkaproducerfile.json

有關更多信息,請查看 github 頁面: https ://github.com/edenhill/kcat

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM