C# 如何使用Confluent';s.NET客户端

C# 如何使用Confluent';s.NET客户端,c#,.net,apache-kafka,confluent-platform,C#,.net,Apache Kafka,Confluent Platform,我已经在我的windows开发计算机(Kafka_2.11-2.4.0.tgz)上安装了Kafka。这一切都很好,我能够使用示例批处理脚本发送和接收消息 为了构建一个C#windows应用程序,我正在C#windows应用程序上使用Confluent的.NET客户端for Apache Kafka(版本1.3.0.0)。但是,当我使用Confluent提供的示例列出组订阅时,得到的错误是System.ArgumentNullException:“Argument”group“不能为null。参数

我已经在我的windows开发计算机(Kafka_2.11-2.4.0.tgz)上安装了Kafka。这一切都很好,我能够使用示例批处理脚本发送和接收消息

为了构建一个C#windows应用程序,我正在C#windows应用程序上使用Confluent的.NET客户端for Apache Kafka(版本1.3.0.0)。但是,当我使用Confluent提供的示例列出组订阅时,得到的错误是System.ArgumentNullException:“Argument”group“不能为null。参数名称:group',但我没有传递到方法中的此类参数。下面是代码示例:

private static string ListConsumerGroups(string bootstrapServers) {
    string s = ($"Consumer Groups:"); 
    using (var adminClient = new AdminClientBuilder(new AdminClientConfig { BootstrapServers = bootstrapServers }).Build()) {
        var groups = adminClient.ListGroups(TimeSpan.FromSeconds(10));
        foreach (var g in groups) {
            s += "\r\n" + ($"  Group: {g.Group} {g.Error} {g.State}");
            s += "\r\n" + ($"  Broker: {g.Broker.BrokerId} {g.Broker.Host}:{g.Broker.Port}");
            s += "\r\n" + ($"  Protocol: {g.ProtocolType} {g.Protocol}");
            s += "\r\n" + ($"  Members:");
            foreach (var m in g.Members) {
                s += "\r\n" + ($"    {m.MemberId} {m.ClientId} {m.ClientHost}");
                s += "\r\n" + ($"    Metadata: {m.MemberMetadata.Length} bytes");
                s += "\r\n" + ($"    Assignment: {m.MemberAssignment.Length} bytes");
            }
        }
    }
    return s;
}
使用timespan参数(此方法不允许使用其他参数)调用
adminClient.ListGroups
时,代码失败。我不知道API中是否有bug,或者我只是缺少了一些东西。 当使用批处理脚本列出消费者组时,我确实得到了一个有效的答案


这是在v1.3.0中引入的回归。它在v1.4.0-RC1及更高版本中得到解决。

这是在v1.3.0中引入的回归。它在v1.4.0-RC1及更高版本中得到解决。

因此示例代码不运行还是您的代码不运行?您是否创建了github问题?我的代码基于confluent提供的示例代码(非常类似)。我刚刚在gitHub上创建了一个帐户,并在那里发布了一个问题。谢谢。那么示例代码不运行还是您的代码不运行?您是否创建了github问题?我的代码基于confluent提供的示例代码(非常类似)。我刚刚在gitHub上创建了一个帐户,并在那里发布了一个问题。谢谢,谢谢,马特。我刚刚下载了v1.4.0-RC1,并确认它解决了这个问题。谢谢Matt。我刚刚下载了v1.4.0-RC1,并确认它解决了这个问题。