Vue d'ensemble
confluent-kafka 2.0, publié le 15 janvier 2023, nettoie l'API et abandonne le support de Python 3.6. La bibliothèque requiert désormais Python 3.7+.
Fonctionnalités principales
Nettoyage de l'API
Les anciennes méthodes dépréciées ont été supprimées et l'API de configuration a été simplifiée. Les callbacks utilisent désormais un style plus pythonique.
python
from confluent_kafka import Producer
conf = {
'bootstrap.servers': 'localhost:9092',
'client.id': 'mon-producteur',
}
producer = Producer(conf)
producer.produce(
topic='evenements',
key='cle-1',
value='message de test',
callback=lambda err, msg: print(f'Livré : {msg.topic()}')
)
producer.flush()
Python 3.7+ requis
L'abandon de Python 3.6 permet l'utilisation de dataclasses, des annotations postponées et des améliorations de performance du runtime Python 3.7+.
python
from confluent_kafka import Consumer
consumer = Consumer({
'bootstrap.servers': 'localhost:9092',
'group.id': 'mon-groupe',
'auto.offset.reset': 'earliest',
})
consumer.subscribe(['evenements'])
while True:
msg = consumer.poll(timeout=1.0)
if msg is None:
continue
if msg.error():
print(f'Erreur : {msg.error()}')
else:
print(f'Reçu : {msg.value().decode()}')
break
consumer.close()
