如何使用kafka-python以编程方式创建主题?

时间:2019-04-04 09:36:28

标签: python apache-kafka kafka-python

我开始使用Kafka,对Python还是一个新手。我正在使用名为kafka-python的库与我的Kafka经纪人进行通信。现在,我需要从我的代码,从文档动态创建一个主题,我所看到的是可以调用create_topics()方法来实现,但是我不确定如何获取该类的实例。我无法从文档中了解这一点。

有人可以帮我吗?

1 个答案:

答案 0 :(得分:0)

您首先需要创建KafkaAdminClient的实例。以下应该为您解决问题:

from kafka.admin import KafkaAdminClient, NewTopic
admin_client = KafkaAdminClient(bootstrap_servers="localhost:9092", client_id='test')

topic_list = []
topic_list.append(NewTopic(name="example_topic", num_partitions=1, replication_factor=1))

admin_client.create_topics(new_topics=topic_list, validate_only=False)

或者,您可以使用confluent_kafka客户端,该客户端是librdkafka周围的轻量级包装:

from confluent_kafka.admin import AdminClient, NewTopic
admin_client = AdminClient({"bootstrap_servers": "localhost:9092"})

topic_list = []
topic_list.append(NewTopic("example_topic", 1, 1))
admin_client.create_topics(topic_list)
相关问题