Confluent-Kafka Python:如何以编程方式列出所有主题

时间:2019-05-06 07:51:03

标签: python django python-3.x apache-kafka confluent-kafka

我的本​​地系统中运行着一个kafka经纪人。为了使用基于Django的Web应用程序与中断通信,我使用confluent-kafka包装器。但是,通过浏览管理api,我找不到列出kafka主题的任何api。 (这些主题是务实地创建的,是动态的。)

我可以在程序中列出它们吗? 要求是,如果我的工作人员重新启动,则必须重新初始化所有监听这些主题的指定使用者,因此我想循环到所有主题并为每个主题指定使用者。

2 个答案:

答案 0 :(得分:0)

答案 1 :(得分:0)

这是方法:

>>> from confluent_kafka.admin import AdminClient

>>> conf = {'bootstrap.servers': 'vps01:9092,vps02:9092,vps03:9092'}
>>> kadmin = AdminClient(conf)

>>> kadmin.list_topics().topics # Returns a dict(). See example below.
{'topic01': TopicMetadata(topic01, 3 partitions),}

我希望有帮助。