2017-06-29 1 views
0

Ich habe versucht, Dokumentation zu IBM Message Hub über C# Apache Kafka Confluent API zu finden, aber nicht erfolgreich gewesen. Das offizielle Repo auf GitHub hat kein Beispiel für C#. Ist jemand in der Lage gewesen, mit C# zu IBM Message Hub zu kommunizieren, wenn ja, können Sie den Prozess teilen.IBM Message Hub Kommunikation mit C# konfluenten API

Danke.

Update: Ich hatte Erfolg in der Kommunikation mit dem IBM Message Hub.

Bibliotheken:

  1. librdkafka -... 0.11.0-RC2

  2. Zertifikat aus: https://curl.haxx.se/docs/caextract.html

  3. Confluent.kafka.dll Confluent.Kafka 0.11.0-RC1

Konfig:

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 Version: 4.5.2

Hoffe, dass es Zeit für jemanden rettet.

Dank Edoardo Comar für mich zu dringend benötigten Informationen zu führen.

Antwort

1

Wir haben noch kein C# -Sample geschrieben.

Der Confluence C# -Kafka-Client ist ein Wrapper um die C-Bibliothek librdkafka, die bis Version 0.9.5 (die letzte Version zum Zeitpunkt des Schreibens dieses Beitrags) nicht für Windows mit SASL_SSL-Unterstützung erstellt werden konnte, die für die Authentifizierung erforderlich ist Nachrichten-Hub

Aber das hat sich mit librdkafka 0.11 geändert (in Release Candidate, wie ich diesen Kommentar posten) dank einiger sehr neuer Commits.

Ich verifiziert, dass librdkafka 0.11 (Master-Zweig) in der Lage ist, mit Message Hub unter Windows zu authentifizieren. Sie werden diese Konfigurationseigenschaften festlegen müssen:

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> 

ich nicht wusste, wie ein gültiges Zertifikat .pem-Datei in Windows zu erhalten, so dass ich kopiert eine Datei aus cert.pem macOS über (via Gebräu openssl installiert /usr/local/etc/openssl). A cert.pem von Ubuntu (gefunden in /etc/openssl) sollte auch funktionieren.

Viel Glück und bitte halten Sie mich auf dem Laufenden,

+0

Danke Edoardo. Ich werde an dem oben genannten arbeiten und den Fortschritt in diesem Thread aktualisieren. –

+0

könnte Ihr Anteil, wo in Windows platziert werden, bekomme ich den Fehler, "Fehler beim Überprüfen Broker-Zertifikat: nicht in der Lage, das lokale Aussteller-Zertifikat zu erhalten". –

+0

Aktualisiert: Ich habe den Pfad zur Datei cert.pem hinzugefügt, die ich mit openssl erstellt habe. Die Bibliothek, die ich verwende, ist Confluent.Kafka.dll Version: 0.11.0 Pre-Release. Ich erhalte Acessionviolation Ausnahme. Kannst du mir helfen? –

Verwandte Themen