【问题标题】:How to programmatically create topics using kafka-python?如何使用 kafka-python 以编程方式创建主题?
【发布时间】:2019-04-04 09:36:28
【问题描述】:

我刚开始使用 Kafka,对 Python 还很陌生。我正在使用这个名为 kafka-python 的库与我的 Kafka 代理进行通信。现在我需要从我的代码动态创建一个主题,从我看到的文档中我可以调用create_topics() 方法来执行此操作,但是我不确定如何获得此类的实例。我无法从文档中理解这一点。

有人可以帮我解决这个问题吗?

【问题讨论】:

    标签: python apache-kafka kafka-python kafka-topic


    【解决方案1】:

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

    from kafka.admin import KafkaAdminClient, NewTopic
    
    
    admin_client = KafkaAdminClient(
        bootstrap_servers="localhost:9092", 
        client_id='test'
    )
    
    topic_list = [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 = [NewTopic("example_topic", 1, 1)]
    admin_client.create_topics(topic_list)
    

    【讨论】:

      猜你喜欢
      • 2014-11-19
      • 2016-10-30
      • 2019-11-24
      • 1970-01-01
      • 2019-09-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-12-10
      相关资源
      最近更新 更多