Python发送带key的kafka消息

在Python中发送带有键(key)的Kafka消息,通常会使用`confluent-kafka`或`kafka-python`这样的库。这里我将分别展示如何使用这两个库来实现这个功能。

使用 `confluent-kafka`

首先,确保你已经安装了`confluent-kafka`库。如果没有安装,可以使用pip进行安装:

```bash

pip install confluent-kafka

```

然后,你可以使用以下代码来发送带有键的消息:

```python

from confluent_kafka import Producer

def delivery_report(err, msg):

""" Called once for each message produced to indicate delivery result.

Triggered by poll() or flush(). """

if err is not None:

print(f'Message delivery failed: {err}')

else:

print(f'Message delivered to {msg.topic()} [{msg.partition()}]')

配置生产者

conf = {'bootstrap.servers': 'localhost:9092'}

创建生产者实例

producer = Producer(conf)

消息的键和值

message_key = 'my_key'

message_value = 'Hello, Kafka!'

发送消息

producer.produce('my_topic', key=message_key, value=message_value, callback=delivery_report)

触发所有消息的回调函数

producer.flush()

```

使用 `kafka-python`

同样地,确保你已经安装了`kafka-python`库。如果未安装,可以通过pip安装:

```bash

pip install kafka-python

```

接下来,使用以下代码来发送带有键的消息:

```python

from kafka import KafkaProducer

创建生产者实例

producer = KafkaProducer(bootstrap_servers='localhost:9092',

key_serializer=str.encode,

value_serializer=str.encode)

消息的键和值

message_key = 'my_key'

message_value = 'Hello, Kafka!'

发送消息

producer.send('my_topic', key=message_key, value=message_value)

确保所有消息都已发送

producer.flush()

关闭生产者

producer.close()

```

在这两个例子中,我们创建了一个Kafka生产者,并指定了一个本地运行的Kafka服务器地址(`localhost:9092`)。然后,我们定义了要发送的消息的键和值,并调用了相应的方法来发送消息。对于`confluent-kafka`,我们还设置了一个回调函数来处理消息的交付结果。

请根据你的实际环境调整配置,例如Kafka服务器的地址等。希望这能帮助到你!如果有任何其他问题,请随时提问。

相关推荐
-dzk-16 分钟前
【3DGS复现】Autodl服务器复现3DGS《简单快速》《一次成功》《新手练习复现必备》
运维·服务器·python·计算机视觉·3d·三维重建·三维
摩羯座-185690305942 小时前
爬坑 10 年!京东店铺全量商品接口实战开发:从分页优化、SKU 关联到数据完整性闭环
linux·网络·数据库·windows·爬虫·python
ACERT3332 小时前
5.吴恩达机器学习—神经网络的基本使用
人工智能·python·神经网络·机器学习
韩立学长2 小时前
【开题答辩实录分享】以《基于python的奶茶店分布数据分析与可视化》为例进行答辩实录分享
开发语言·python·数据分析
2401_831501733 小时前
Python学习之day03学习(文件和异常)
开发语言·python·学习
可触的未来,发芽的智生3 小时前
触摸未来2025.10.06:声之密语从生理构造到神经网络的声音智能革命
人工智能·python·神经网络·机器学习·架构
Zwb2997923 小时前
Day 24 - 文件、目录与路径 - Python学习笔记
笔记·python·学习
hui函数3 小时前
python全栈(基础篇)——day03:后端内容(字符串格式化+简单数据类型转换+进制的转换+运算符+实战演示+每日一题)
开发语言·后端·python·全栈
动能小子ohhh3 小时前
AI智能体(Agent)大模型入门【6】--编写fasteAPI后端请求接口实现页面聊天
人工智能·python·深度学习·ai编程
SCBAiotAigc3 小时前
huggingface里的数据集如何下载呢?
人工智能·python