【问题标题】:How to create topics if it does not exists in Kafka dynamically using kafka-python如果Kafka中不存在主题,如何使用kafka-python动态创建主题
【发布时间】:2019-04-03 10:59:34
【问题描述】:

我对 Python 还很陌生,并且刚刚开始使用 Kafka。我正在使用名为 python-kafka 的库与 Kafka 进行通信。 现在我有一个需求,我需要动态创建主题,但是如果它确实存在,我不需要创建它。

通过阅读文档,我发现我可以使用 KafkaAdminClient 来创建和删除主题,但是我没有找到任何可以检查主题是否存在的工具。

【问题讨论】:

    标签: python apache-kafka kafka-python


    【解决方案1】:

    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())
    

    【讨论】:

    • 对于较新的版本,请使用from kafka import KafkaClien,因为项目结构发生了变化。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-11
    • 2021-09-09
    • 2016-07-26
    • 1970-01-01
    • 1970-01-01
    • 2019-04-22
    相关资源
    最近更新 更多