如何使用 C# 从 Kafka 获取主题列表
本文关键字:列表 获取 Kafka 何使用 | 更新日期: 2023-09-27 17:56:05
我想从Kafka获取主题列表。我正在使用 kafka-net 客户端,但无法在文档中找到有关获取主题列表的信息。
您可以使用 Confluent.Kafka 包中提供的 AdminClient 列出所有主题:
using Confluent.Kafka;
using Confluent.Kafka.Admin;
var adminConfig = new AdminClientConfig()
{
BootstrapServers = "SERVER_URL"
};
using (var adminClient = new AdminClientBuilder(adminConfig).Build())
{
var metadata = adminClient.GetMetadata(TimeSpan.FromSeconds(10));
var topicsMetadata = metadata.Topics;
var topicNames = metadata.Topics.Select(a => a.Topic).ToList();
}
根据文档,您应该能够执行此操作
producer.GetMetadata(true, null)
public Metadata GetMetadata(bool allTopics, string topic)
查询群集以获取元数据(阻止)。
allTopics = true - 从集群请求所有主题
https://docs.confluent.io/4.0.1/clients/confluent-kafka-dotnet/api/Confluent.Kafka.Producer.html#Confluent_Kafka_Producer_GetMetadata_System_Boolean_System_String_