我需要使用c语言以编程方式清除或删除Kafka主题。目前,我已经使用confluent.kafka库来发布和使用Kafka主题。我可以像这样使用命令行删除Kafka主题
kafka-topics.bat --zookeeper 192.108.94.79:2181 --delete --topic test-topic3
是否有任何库或方法可用于使用c语言编程清除Kafka主题?
yzuktlbb1#
在版本1.3.0中 confluent.kafka adminclient类是内部的,因此必须使用 AdminClientBuilder 例子:
confluent.kafka
AdminClientBuilder
AdminClientBuilder builder = new AdminClientBuilder(new AdminClientConfig() { BootstrapServers =""}) builder.Build();
rks48beu2#
我们可以使用confluent.kafka库版本1.0.0快速删除Kafka主题。但目前,它是在测试版。此库支持kafka管理实用程序。下面的代码有助于清除/删除Kafka主题。
using Confluent.Kafka; using System; using System.Collections.Generic; namespace deleteKafkaTopic { public class Program { public static void Main(string[] args) { Console.WriteLine($"librdkafka Version: {Library.VersionString} ({Library.Version:X})"); Console.WriteLine($"Debug Contexts: {string.Join(", ", Library.DebugContexts)}"); IEnumerable<string> topicList = new List<string>() { "test-topic4" }; deleteTopics("192.168.64.49:9092", topicList); } static void deleteTopics(string brokerList, IEnumerable<string> topicNameList) { using (var adminClient = new AdminClient(new AdminClientConfig { BootstrapServers = brokerList })) { adminClient.DeleteTopicsAsync(topicNameList, null); } } } }
2条答案
按热度按时间yzuktlbb1#
在版本1.3.0中
confluent.kafka
adminclient类是内部的,因此必须使用AdminClientBuilder
例子:rks48beu2#
我们可以使用confluent.kafka库版本1.0.0快速删除Kafka主题。但目前,它是在测试版。此库支持kafka管理实用程序。下面的代码有助于清除/删除Kafka主题。