python 发送数据到kafka

该代码示例展示了如何在Python中使用kafka库创建一个KafkaProducer实例,配置SASL_PLAINTEXT安全协议,以及如何发送消息到指定主题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

通过pip库的kafka来实现

from kafka import KafkaProducer

class SKafka():

def __init__(self, bootstrap_servers: str, api_version=None, is_json_schema: bool = False,

encoding: str = "utf-8", security_protocol: str = "PLAINTEXT", sasl_mechanism: str = None,

sasl_plain_username: str = None, sasl_plain_password: str = None):

self.is_json_schema = is_json_schema

self.encoding = encoding

self.producer = KafkaProducer(bootstrap_servers=bootstrap_servers,

api_version=api_version,

security_protocol=security_protocol,

sasl_mechanism=sasl_mechanism,

sasl_plain_username=sasl_plain_username,

sasl_plain_password=sasl_plain_password)

def sync_producer(self, topic, message):

for date in message:

date = date.encode()

self.producer.send(topic, date)

# print('save success,date:{}'.format(date))

def close_producer(self):

try:

self.producer.close()

print("connect close")

except Exception as e:

print(e)

pass

#kafka设置了密码,没有就不用设置那么多

if __name__ == '__main__':

kp = SKafka(bootstrap_servers='IP:9092',

api_version=(0, 10, 1),

security_protocol='SASL_PLAINTEXT',

sasl_mechanism='PLAIN',

sasl_plain_username='user',

sasl_plain_password='password')

kp.sync_producer(topic='test', message=messages)

kp.close_producer()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值