Vue d'ensemble
confluent-kafka 1.7, publié le 16 mai 2021, ajoute le support de l'authentification OAuth et améliore la gestion des erreurs.
Fonctionnalités principales
Support OAuth
Le client supporte désormais l'authentification OAuth/OIDC via un callback de renouvellement de token, permettant une intégration sécurisée avec les fournisseurs d'identité.
python
from confluent_kafka import Producer
def oauth_callback(config):
"""Callback pour obtenir un token OAuth."""
# Appel au fournisseur d'identité
return 'token_jwt_ici', expiry_time
producer = Producer({
'bootstrap.servers': 'kafka:9092',
'security.protocol': 'SASL_SSL',
'sasl.mechanism': 'OAUTHBEARER',
'oauth_cb': oauth_callback,
})
producer.produce('mon-topic', value=b'message')
producer.flush()
Amélioration de la gestion des erreurs
La gestion des erreurs est renforcée avec des callbacks d'erreur plus détaillés et une meilleure distinction entre les erreurs fatales et récupérables.
python
from confluent_kafka import Consumer, KafkaError
def error_callback(err):
if err.code() == KafkaError._ALL_BROKERS_DOWN:
print('Tous les brokers sont indisponibles')
elif err.fatal():
raise SystemExit(f'Erreur fatale : {err}')
else:
print(f'Erreur récupérable : {err}')
consumer = Consumer({
'bootstrap.servers': 'kafka:9092',
'group.id': 'mon-groupe',
'error_cb': error_callback,
})
