Confluent kafka python API - 如何获取主题中的分区数

Confluent kafka python API - how to get number of partitions in a topic

我想获得主题内的分区数,但 API 很难理解。

我找到了以下内容,但是,主题信息不包含分区数。

import confluent_kafka
from confluent_kafka.admin import AdminClient, ConfigResource

kafkaServers =  ["***","****"]

bootstrapServers = ",".join(kafkaServers)
adminClient = AdminClient({
    'bootstrap.servers': bootstrapServers
})

result = adminClient.describe_configs([ConfigResource(confluent_kafka.admin.RESOURCE_TOPIC, "model-detections-dev")])

config = list(result.values())[0].result()

如何获取分区数?

分区不是从 AdminClient 获取的“主题配置”。

您可以使用 Consumer instance 来获取它们

consumer.list_topics() returns ClusterMetadata,其中包含主题到 TopicMetadata 的映射,它具有 partitions 属性。