Cette rubrique explique comment utiliser le SDK pour Python pour se connecter à ApsaraMQ for Kafka afin d'envoyer et de recevoir des messages sur un serveur Linux.
Avant de commencer
-
Remarque
Les versions Python 2.7 et 3.x sont prises en charge. Cette rubrique utilise Python 3.9.
Installer la bibliothèque de dépendances Python
Exécutez la commande suivante pour installer la bibliothèque de dépendances Python :
pip install confluent-kafka==1.9.2
Nous vous recommandons d'installer confluent-kafka version 1.9.2 ou antérieure. Dans le cas contraire, l'erreur SSL_HANDSHAKE s'affiche lors de l'envoi de messages via Internet.
Préparer un fichier de configuration
Téléchargez le projet de démonstration, modifiez les configurations correspondantes en fonction de l'endpoint que vous utilisez, puis téléversez le projet de démonstration sur le serveur Linux.
-
Accédez à aliware-kafka-demos, cliquez sur l'icône
, puis sélectionnez Download ZIP dans la liste déroulante pour télécharger et décompresser le projet de démonstration.RemarqueLe projet de démonstration téléchargé inclut le certificat racine SSL. Pour utiliser le certificat racine SSL séparément, téléchargez le certificat racine SSL.
-
Dans le projet de démonstration décompressé, localisez le dossier kafka-confluent-python-demo et modifiez le fichier de configuration setting.py en fonction de l'endpoint que vous utilisez.
Default endpoint
Dans le répertoire vpc, modifiez le fichier de configuration setting.py.
kafka_setting = { 'bootstrap_servers': 'XXX:xxx,XXX:xxx', 'topic_name': 'XXX', 'group_name': 'XXX' }Parameter
Description
bootstrap_servers
L'endpoint par défaut de l'instance ApsaraMQ for Kafka. Vous pouvez obtenir l'endpoint dans la section Endpoint Information de la page Instance Details dans la console ApsaraMQ for Kafka.
topic_name
Le nom du topic. Vous pouvez obtenir le nom du topic sur la page Topics dans la console ApsaraMQ for Kafka.
group_name
Le nom du group. Vous pouvez obtenir le nom du group sur la page Groups dans la console ApsaraMQ for Kafka.
SSL endpoint
Dans le répertoire vpc-ssl, modifiez le fichier de configuration setting.py.
kafka_setting = { 'sasl_plain_username': 'XXX', 'sasl_plain_password': 'XXX', 'ca_location': '/XXX/mix-4096-ca-cert', 'bootstrap_servers': 'XXX:xxx,XXX:xxx', 'topic_name': 'XXX', 'group_name': 'XXX' }Parameter
Description
sasl_plain_username
Le nom d'utilisateur de l'utilisateur Simple Authentication and Security Layer (SASL).
RemarqueSi la fonctionnalité ACL n'est pas activée pour l'instance ApsaraMQ for Kafka, vous pouvez obtenir le nom d'utilisateur et le mot de passe de l'utilisateur SASL à partir des paramètres Username et Password dans la section Configuration Information de la page Instance Details dans la console ApsaraMQ for Kafka.
Si la fonctionnalité ACL est activée pour l'instance ApsaraMQ for Kafka, assurez-vous que l'utilisateur SASL est autorisé à envoyer et recevoir des messages via l'instance. Pour plus d'informations, consultez la rubrique Accorder des autorisations aux utilisateurs SASL.
sasl_plain_password
Le mot de passe de l'utilisateur SASL.
ca_location
Le chemin d'accès où le certificat racine SSL est enregistré. Remplacez XXX dans l'exemple de code par le chemin d'accès local. Exemple : /home/kafka-confluent-python-demo/vpc-ssl/mix-4096-ca-cert.
bootstrap_servers
L'endpoint SSL de l'instance ApsaraMQ for Kafka. Vous pouvez obtenir l'endpoint dans la section Endpoint Information de la page Instance Details dans la console ApsaraMQ for Kafka.
topic_name
Le nom du topic. Vous pouvez obtenir le nom du topic sur la page Topics dans la console ApsaraMQ for Kafka.
group_name
Le nom du group. Vous pouvez obtenir le nom du group sur la page Groups dans la console ApsaraMQ for Kafka.
Téléversez le dossier kafka-confluent-python-demo vers le répertoire /home sur le serveur Linux.
Envoyer des messages
Envoyez des messages en fonction de l'endpoint que vous utilisez.
Default endpoint
-
Exécutez la commande suivante pour accéder au sous-répertoire /home/kafka-confluent-python-demo/vpc :
cd /home/kafka-confluent-python-demo/vpc -
Exécutez la commande suivante pour envoyer des messages :
python kafka_producer.py
L'exemple de code suivant illustre le fichier kafka_producer.py :
SSL endpoint
-
Exécutez la commande suivante pour accéder au sous-répertoire /home/kafka-confluent-python-demo/vpc-ssl :
cd /home/kafka-confluent-python-demo/vpc-ssl -
Exécutez la commande suivante pour envoyer des messages :
python kafka_producer.py
L'exemple de code suivant illustre le fichier kafka_producer.py :
S'abonner aux messages
Abonnez-vous aux messages en fonction de l'endpoint que vous utilisez.
Default endpoint
-
Exécutez la commande suivante pour accéder au sous-répertoire /home/kafka-confluent-python-demo/vpc :
cd /home/kafka-confluent-python-demo/vpc -
Exécutez la commande suivante pour vous abonner aux messages :
python kafka_consumer.py
L'exemple de code suivant illustre le fichier kafka_consumer.py :
SSL endpoint
-
Exécutez la commande suivante pour accéder au sous-répertoire /home/kafka-confluent-python-demo/vpc-ssl :
cd /home/kafka-confluent-python-demo/vpc-ssl -
Exécutez la commande suivante pour vous abonner aux messages :
python kafka_consumer.py
L'exemple de code suivant illustre le fichier kafka_consumer.py :