如果 Kafka 中不存在主题,如何使用 kafka-python 动态创建主题
How to create topics if it does not exists in Kafka dynamically using kafka-python
我是 Python 的新手,刚刚开始使用 Kafka。我正在使用名为 python-kafka 的库与 Kafka 进行通信。
现在我有一个需求,我需要动态创建主题,但是如果它存在,我不需要创建它。
通过阅读文档我发现我可以使用 KafkaAdminClient 创建和删除主题,但是我没有找到任何检查主题是否存在的方法。
KafkaAdminClient 没有公开列出主题的方法,但您可以通过简单地从 KafkaClient.
查询集群元数据来获取现有主题的列表
例如,这将打印集群中的所有主题:
from kafka.client import KafkaClient
client = KafkaClient(bootstrap_servers='localhost:9092')
future = client.cluster.request_update()
client.poll(future=future)
metadata = client.cluster
print(metadata.topics())
我是 Python 的新手,刚刚开始使用 Kafka。我正在使用名为 python-kafka 的库与 Kafka 进行通信。 现在我有一个需求,我需要动态创建主题,但是如果它存在,我不需要创建它。
通过阅读文档我发现我可以使用 KafkaAdminClient 创建和删除主题,但是我没有找到任何检查主题是否存在的方法。
KafkaAdminClient 没有公开列出主题的方法,但您可以通过简单地从 KafkaClient.
查询集群元数据来获取现有主题的列表例如,这将打印集群中的所有主题:
from kafka.client import KafkaClient
client = KafkaClient(bootstrap_servers='localhost:9092')
future = client.cluster.request_update()
client.poll(future=future)
metadata = client.cluster
print(metadata.topics())