IBM 消息中心与 C# 融合通信 api
IBM message hub communciation with C# confluent api
我一直在尝试查找通过 C# Apache Kafka Confluent API 连接到 IBM Message Hub 的文档,但没有成功。 github 上的官方仓库没有 C# 示例。有没有人能够使用 C# 与 ibm message hub 进行通信,如果可以,您可以分享该过程。
谢谢。
更新:
我已成功与 IBM Message Hub 通信。
图书馆:
librdkafka -... 0.11.0-RC2
Confluent.kafka.dll Confluent.Kafka 0.11.0-RC1
配置:
private static Dictionary<string, object> constructConfig(string brokerList, bool enableAutoCommit) =>
new Dictionary<string, object>
{
{ "group.id", "history" },
{ "enable.auto.commit", enableAutoCommit },
{ "auto.commit.interval.ms", 5000 },
{ "statistics.interval.ms", 60000 },
{ "bootstrap.servers", "ibmserver:port" },
{ "default.topic.config", new Dictionary<string, object>()
{
{ "auto.offset.reset", "smallest" }
}
},
{"ssl.ca.location",@"E:\cert\cacert.pem" },
{"api.version.request","true" },
{"security.protocol","sasl_ssl" },
{"sasl.mechanisms","PLAIN" },
{"sasl.username","xxxx" },
{"sasl.password","xxxxx" }
};
.net版本:4.5.2
希望它能为某人节省时间。
感谢 Edoardo Comar 指导我获得急需的信息。
我们还没有编写 C# 示例。
Confluent C# Kafka 客户端是 C 库 librdkafka
的包装器,直到版本 0.9.5(撰写本文时的最后一个版本 post)无法为 Windows 具有 SASL_SSL 支持,这是针对 Message Hub 进行身份验证所必需的。
然而,由于最近的一些提交,librdkafka 0.11(在发布候选版本中,因为我正在 post 发表评论)发生了变化。
我已验证 librdkafka 0.11(主分支)能够在 Windows 上使用 Message Hub 进行身份验证。您将需要设置这些配置属性:
api.version.request=true
security.protocol=sasl_ssl
ssl.ca.location=<path to a valid cert.pem file>
sasl.mechanisms=PLAIN
sasl.username=<username from your Bluemix credentials>
sasl.password=<password from your Bluemix credentials>
我不知道如何在 Windows 中获取有效的 .pem 证书文件,所以我从 macOS 复制了一个 cert.pem 文件(在 /usr/local/etc/openssl
中通过 brew openssl 安装) ).来自 Ubuntu 的 cert.pem
(在 /etc/openssl
中找到)也应该有效。
祝你好运,请让我了解你的最新进展,
我一直在尝试查找通过 C# Apache Kafka Confluent API 连接到 IBM Message Hub 的文档,但没有成功。 github 上的官方仓库没有 C# 示例。有没有人能够使用 C# 与 ibm message hub 进行通信,如果可以,您可以分享该过程。
谢谢。
更新: 我已成功与 IBM Message Hub 通信。
图书馆:
librdkafka -... 0.11.0-RC2
Confluent.kafka.dll Confluent.Kafka 0.11.0-RC1
配置:
private static Dictionary<string, object> constructConfig(string brokerList, bool enableAutoCommit) =>
new Dictionary<string, object>
{
{ "group.id", "history" },
{ "enable.auto.commit", enableAutoCommit },
{ "auto.commit.interval.ms", 5000 },
{ "statistics.interval.ms", 60000 },
{ "bootstrap.servers", "ibmserver:port" },
{ "default.topic.config", new Dictionary<string, object>()
{
{ "auto.offset.reset", "smallest" }
}
},
{"ssl.ca.location",@"E:\cert\cacert.pem" },
{"api.version.request","true" },
{"security.protocol","sasl_ssl" },
{"sasl.mechanisms","PLAIN" },
{"sasl.username","xxxx" },
{"sasl.password","xxxxx" }
};
.net版本:4.5.2
希望它能为某人节省时间。
感谢 Edoardo Comar 指导我获得急需的信息。
我们还没有编写 C# 示例。
Confluent C# Kafka 客户端是 C 库 librdkafka
的包装器,直到版本 0.9.5(撰写本文时的最后一个版本 post)无法为 Windows 具有 SASL_SSL 支持,这是针对 Message Hub 进行身份验证所必需的。
然而,由于最近的一些提交,librdkafka 0.11(在发布候选版本中,因为我正在 post 发表评论)发生了变化。
我已验证 librdkafka 0.11(主分支)能够在 Windows 上使用 Message Hub 进行身份验证。您将需要设置这些配置属性:
api.version.request=true
security.protocol=sasl_ssl
ssl.ca.location=<path to a valid cert.pem file>
sasl.mechanisms=PLAIN
sasl.username=<username from your Bluemix credentials>
sasl.password=<password from your Bluemix credentials>
我不知道如何在 Windows 中获取有效的 .pem 证书文件,所以我从 macOS 复制了一个 cert.pem 文件(在 /usr/local/etc/openssl
中通过 brew openssl 安装) ).来自 Ubuntu 的 cert.pem
(在 /etc/openssl
中找到)也应该有效。
祝你好运,请让我了解你的最新进展,