tencent cloud

Feedback

DocumentationTDMQ for CKafkaSDK DocumentationSDK for PythonPublic Network Access Through SASL_PLAINTEXT
DocumentationTDMQ for CKafkaSDK DocumentationSDK for PythonPublic Network Access Through SASL_PLAINTEXT

Public Network Access Through SASL_PLAINTEXT

Last updated: 2024-01-09 15:00:32

Overview

This document describes how to access CKafka to receive/send messages with the SDK for Python through SASL_PLAINTEXT over public network.

Prerequisites

Directions

Step 1. Make preparations

1. Create an access point.
1.1 On the Instance List page in the CKafka console, click the target instance ID to enter the instance details page.
1.2 In Basic Info > Access Mode, click Add a routing policy. In the pop-up window, select Route Type: Public domain name access, Access Mode: SASL_PLAINTEXT.



2. Create a role.
On the User Management tab page, create a role and set the password.

3. Create a topic.
Create a topic on the Topic Management tab page as instructed in Topic Management.
4. Add the Python dependent library.
Run the following command to install the dependent library:
pip install kafka-python

Step 2. Produce messages

1. Modify the configuration parameters in the message production program producer.py.
producer = KafkaProducer(
bootstrap_servers = ['xx.xx.xx.xx:port'],
api_version = (1, 1),

#
# Public network access through SASL_PLAINTEXT
#
security_protocol = "SASL_PLAINTEXT",
sasl_mechanism = "PLAIN",
sasl_plain_username = "instanceId#username",
sasl_plain_password = "password",
)

message = "Hello World! Hello Ckafka!"
msg = json.dumps(message, ensure_ascii=False).encode()
producer.send('topic_name', value = msg)
print("produce message " + message + " success.")
producer.close()
Parameter
Description
bootstrap_servers
Accessed network, which can be copied from the Network column in the Access Mode section in Basic Info on the instance details page in the console.

sasl_plain_username
Username in the format of instance ID + # + username. The instance ID can be obtained in Basic Info on the instance details page in the CKafka console, and the username is set when the user is created in User Management.
sasl_plain_password
User password, which is set when the user is created in User Managementon the instance details page in the CKafka console.
topic_name
Topic name, which can be copied in Topic Management in the console.

2. Compile and run producer.py.
3. View the execution result.



4. Go to the Topic Management tab on the instance details page in the CKafka console, select the target topic, and click More > Message Query to view the message just sent.




Step 3. Consume messages

1. Modify the configuration parameters in the message consumption program consumer.py.
consumer = KafkaConsumer(
'topic_name',
group_id = "group_id",
bootstrap_servers = ['xx.xx.xx.xx:port'],
api_version = (1,1),

#
# Public network access through SASL_PLAINTEXT
#
security_protocol = "SASL_PLAINTEXT",
sasl_mechanism = 'PLAIN',
sasl_plain_username = "instanceId#username",
sasl_plain_password = "password",
)

for message in consumer:
print ("Topic:[%s] Partition:[%d] Offset:[%d] Value:[%s]" %
(message.topic, message.partition, message.offset, message.value))
Parameter
Description
bootstrap_servers
Accessed network, which can be copied from the Network column in the Access Mode section in Basic Info on the instance details page in the console.

group_id
Consumer group ID, which can be customized based on business requirements.
sasl_plain_username
Username in the format of instance ID + # + username. The instance ID can be obtained in Basic Info on the instance details page in the CKafka console, and the username is set when the user is created in User Management.
sasl_plain_password
User password, which is set when the user is created in User Managementon the instance details page in the CKafka console.
topic_name
Topic name, which can be copied in Topic Management in the console.

2. Compile and run consumer.py.
3. View the execution result.



4. On the Consumer Group tab page in the CKafka console, select the corresponding consumer group, enter the topic name, and click View Details to view the consumption details.



Contact Us

Contact our sales team or business advisors to help your business.

Technical Support

Open a ticket if you're looking for further assistance. Our Ticket is 7x24 avaliable.

7x24 Phone Support