Kafka-Verbindung konfigurieren

Sie können eine Apache Kafka-Verbindung im API Connection Manager konfigurieren.

Dadurch können Sie eine Verbindung zu einem Kafka-Thema herstellen, das Nachrichten speichert, die von einem oder mehreren Publishern gesendet und von einem oder mehreren Consumern gelesen werden. Nähere Informationen zu Kafka finden Sie in der Dokumentation zu Apache Kafka.

Ihre Verbindung konfigurieren

Um eine Kafka-Verbindung zu konfigurieren, führen Sie die folgenden Schritte aus:

  1. Öffnen Sie den API Connection Manager.

  2. Fügen Sie eine neue Verbindung hinzu.

  3. Gehen Sie zum Abschnitt Edit.

  4. Geben Sie einen Namen für Ihre Verbindung an.

  5. Wählen Sie aus dem Aufklappmenü Type die Option Kafka.

  6. Geben Sie den Namen des Themas, mit dem Sie sich verbinden möchten, unter Topic ein.

  7. Geben Sie den Host an. Dies ist der Name oder die IP-Adresse des Kafka-Server-Hosts.

  8. Geben Sie den zu lauschenden Port ein.

  9. Geben Sie die GroupId der Consumer-Gruppe an. Dies ist der Name der Consumer-Gruppe, die dieses Thema abonniert hat.

  10. Geben Sie die Nummer der Partition ein, die die Datensätze (Nachrichten) speichert.

    Kafka-Themen sind in mehrere Partitionen unterteilt, was eine Verteilung großer Datenmengen auf einen oder mehrere Server ermöglicht. Jede Partition hat eine Nummer wie 0 oder 5.

  11. Aktivieren Sie Peeking, um Datensätze von einer Partition abzurufen, ohne einen Commit durchzuführen.

    Dadurch können Sie jeden Datensatz lesen, unabhängig von seiner Position in der Partition und ohne den Offset zu beeinflussen. Der Offset, der die Position eines Datensatzes definiert, gibt an, welche Datensätze bereits verbraucht wurden und welchen ungelesenen Datensatz die API Engine als nächstes per Pull abrufen soll.

  12. Geben Sie den KeyType der Nachricht mit einer der folgenden Optionen an:

    • Ignore, um die Nachricht auf Null zu setzen und nur den Wert, aber nicht den Schlüssel zu serialisieren.

    • None, um sowohl den Wert als auch den Schlüssel von der Serialisierung auszuschließen.

    • Integer-Nachricht.

    • String-Nachricht.

  13. Wenn Ihre Verbindung eine Authentifizierung erfordert, haben Sie zwei Möglichkeiten: Sie authentifizieren sich mit Username und Password oder über SSL. Wenn Sie SSL wählen, füllen Sie stattdessen die folgenden Felder aus:

    • Geben Sie Ihre Certificate-Datei in .pem an.

    • Fügen Sie Ihre Passphrase ein. Dies ist die Passphrase für Ihren privaten Schlüssel.

    • Geben Sie unter Private Key den Pfad zu Ihrem privaten Schlüssel in .pem an.

    • Geben Sie das CA Certificate in .pem an. Dies ist das Stamm-Zertifizierungsstellenzertifikat zur Überprüfung des Kafka-Broker-Zertifikats.

  14. Optional können Sie die XML- und Webservice-Sicherheit konfigurieren.

  15. Fügen Sie optional Avro-Schema-basierte Serialisierung für Kafka-Nachrichten hinzu, um das Datenschema für den Wert eines Datensatzes zu definieren. Dieses Schema beschreibt die im Wert erlaubten Felder mit ihren Datentypen. Nähere Informationen zum Avro-Schema finden Sie in der Apache Avro-Dokumentation.

    Die API Engine 3.0 unterstützt nicht den Standardwert für Array-Typen in einem Avro-Schema. Nähere Informationen finden Sie im Beispiel auf dieser Seite.

    Wählen Sie im Aufklappmenü Schema Type die Option Avro aus und fügen Sie Schema Registry Url und ein Schema hinzu, das die Datenstruktur in einem JSON-Format definiert.

    Wenn die Schema-Registrierung SSL erfordert, füllen Sie die folgenden Felder aus:

    • Geben Sie die Schema Registry CA an. Dies ist der Verzeichnispfad zum Zertifizierungsstellenzertifikat (CA Certificate).

    • Geben Sie unter Schema Keystore Registry den Pfad zum Keystore an, den Sie für die Authentifizierung verwendet haben.

    • Geben Sie unter Schema Keystore Registry Password das Keystore-Passwort ein.

  16. Konfigurieren Sie das Value Serialization Schema und das Key Serialization Schema:

    • None, um den Schlüssel oder den Wert zu serialisieren.

    • Topic, um den Schlüssel oder den Wert zu serialisieren, indem das registrierte Schema für das Thema verwendet wird.

Kafka-Verbindung konfigurieren

Sie können jetzt Ihre Kafka-Verbindung zum Testen verwenden. Nähere Informationen zum Ausführen von Kafka-Themen finden Sie hier: siehe Kapitel "Kafka-Nachrichten ausführen".

Unterstützung des Avro-Schema-Serialisierungsformats

Kafka-Verbindungen unterstützen die folgenden Schemata:

  • Array

  • Boolean

  • Double

  • Enum

  • Float

  • Int

  • Logical: Date, Time (Millisekunde), Time (Mikrosekunde), Timestamp (Millisekunde), Timestamp (Mikrosekunde), Local timestamp (Millisekunde), Local timestamp (Mikrosekunde), UUID

  • Long

  • Null

  • Record

  • String

  • Union

Fehler im Avro-Schema

Der Standardwert "default": [ ] für die Array-Typen "type": "array" in einem Avro-Schema wird nicht unterstützt.

Kopieren
{
"default": [],
"type": "array",
"items": {
    "type": "record",
    "name": "Attribute",
    "fields": [
        ...
    ]
    }
}