Apache Kafka

Mit dem Kafka-Connector können Sie Apache Kafka einbinden und Nachrichten in bestimmten Themen veröffentlichen. Der Kafka-Connector unterstützt auch das Abonnieren von Ereignissen, sodass Trigger erstellt werden können, wenn Nachrichten in einem Thema empfangen werden.

Unterstützte Versionen

Der Apache Kafka-Connector nutzt die nativen Clientbibliotheken, um eine Verbindung zu einem bestimmten Kafka-Cluster herzustellen. Der Connector funktioniert mit der Clientversion 3.3.1. Der Connector kann jedoch eine Verbindung zu Kafka-Clustern der Versionen 3.0 bis 3.3.1 herstellen.

Hinweise

Führen Sie vor der Verwendung des Apache Kafka-Connectors die folgenden Aufgaben aus:

  • In Ihrem Google Cloud-Projekt:
    • Prüfen Sie, ob eine Netzwerkverbindung eingerichtet ist. Informationen zu Netzwerkmustern finden Sie unter Netzwerkkonnektivität.
    • Weisen Sie dem Nutzer, der den Connector konfiguriert, die IAM-Rolle roles/connectors.admin zu.
    • Weisen Sie dem Dienstkonto, das Sie für den Connector verwenden möchten, die folgenden IAM-Rollen zu:
      • roles/secretmanager.viewer
      • roles/secretmanager.secretAccessor

      Ein Dienstkonto ist eine spezielle Art von Google-Konto, das einen nicht menschlichen Nutzer repräsentiert. Es muss authentifiziert und autorisiert werden, um Zugriff auf Daten in Google APIs zu erhalten. Wenn Sie kein Dienstkonto haben, müssen Sie eins erstellen. Weitere Informationen finden Sie unter Dienstkonto erstellen.

    • Aktivieren Sie die folgenden Dienste:
      • secretmanager.googleapis.com (Secret Manager API)
      • connectors.googleapis.com (Connectors API)

      Informationen zum Aktivieren von Diensten finden Sie unter Dienste aktivieren.

    Wenn diese Dienste oder Berechtigungen für Ihr Projekt zuvor nicht aktiviert wurden, werden Sie aufgefordert, sie beim Konfigurieren des Connectors zu aktivieren.

Connector konfigurieren

Eine Verbindung ist für eine Datenquelle spezifisch. Wenn Sie also viele Datenquellen haben, müssen Sie für jede Datenquelle eine separate Verbindung erstellen. So erstellen Sie eine Verbindung:

  1. Rufen Sie in der Cloud Console die Seite Integration Connectors > Verbindungen auf und wählen Sie ein Google Cloud-Projekt aus oder erstellen Sie eines.

    Zur Seite „Verbindungen“

  2. Klicken Sie auf + NEU ERSTELLEN, um die Seite Verbindung erstellen zu öffnen.
  3. Wählen Sie im Schritt Standort den Standort für die neue Apache Kafka-Verbindung aus:
    1. Region:Wählen Sie eine Region aus der Liste aus.
    2. Klicken Sie auf Weiter.
  4. Geben Sie im Schritt Verbindungsdetails Details zur neuen Apache Kafka-Verbindung an:
    1. Connector-Version:Wählen Sie eine verfügbare Version des Apache Kafka-Connectors aus der Liste aus.
    2. Verbindungsname:Geben Sie einen Namen für die Apache Kafka-Verbindung ein.
    3. (Optional) Beschreibung : Geben Sie eine Beschreibung für die Verbindung ein.
    4. Optional: Cloud Logging aktivieren: Aktivieren Sie dieses Kästchen, um alle Logdaten der Verbindung zu speichern.
    5. Dienstkonto: Wählen Sie ein Dienstkonto mit den erforderlichen IAM-Rollen für die Apache Kafka-Verbindung aus.
    6. Die Option Ereignisabo, Entität und Aktionen aktivieren ist standardmäßig für die Apache Kafka-Verbindung ausgewählt.
    7. Typerkennungsschema: Wählen Sie MessageOnly aus.
    8. Registry-Dienst: Der Schema Registry-Dienst, der zum Arbeiten mit Themenschemas verwendet wird.
    9. Registry-Typ: Typ des Schemas, das für ein bestimmtes Thema angegeben wurde.
    10. Registry-Version: Version des Schemas, das für das angegebene Thema aus RegistryUrl gelesen wird.
    11. Registry-Nutzer: Nutzername oder Zugriffsschlüsselwert für die Autorisierung für den in RegistryUrl angegebenen Server.
    12. Registry-Passwort: Secret Manager-Secret mit dem Passwort/Secret-Schlüsselwert zum Autorisieren mit dem in RegistryUrl angegebenen Server.
    13. Konfigurieren Sie optional die Verbindungsknoteneinstellungen:

      • Mindestanzahl von Knoten: Geben Sie die Mindestanzahl von Verbindungsknoten ein.
      • Maximale Anzahl von Knoten: Geben Sie die maximale Anzahl von Verbindungsknoten ein.

      Ein Knoten ist eine Einheit (oder ein Replikat) einer Verbindung, die Transaktionen verarbeitet. Zur Verarbeitung von mehr Transaktionen für eine Verbindung sind mehr Knoten erforderlich. Umgekehrt sind weniger Knoten erforderlich, um weniger Transaktionen zu verarbeiten. Informationen zu den Auswirkungen der Knoten auf Ihre Connector-Preise finden Sie unter Preise für Verbindungsknoten. Wenn Sie keine Werte eingeben, ist die Mindestanzahl von Knoten standardmäßig auf 2 (für eine bessere Verfügbarkeit) und die maximale Knotenzahl auf 50 gesetzt.

    14. Klicken Sie optional auf + LABEL HINZUFÜGEN, um der Verbindung ein Label in Form eines Schlüssel/Wert-Paars hinzuzufügen.
    15. Enable SSL: Dieses Feld legt fest, ob SSL aktiviert ist.
    16. Klicken Sie auf Weiter.
  5. Geben Sie im Abschnitt Ziele die Details zum Kafka-Bootstrap-Server ein, zu dem Sie eine Verbindung herstellen möchten.
    1. Zieltyp: Wählen Sie einen Zieltyp aus.
      • Wenn Sie den Zielhostnamen oder die Ziel-IP-Adresse angeben möchten, wählen Sie Hostadresse aus und geben Sie die Adresse in das Feld Host 1 ein.
      • Wenn Sie eine private Verbindung herstellen möchten, wählen Sie Endpunktanhang aus und wählen Sie den erforderlichen Anhang aus der Liste Endpunktanhang aus.

      Wenn Sie eine öffentliche Verbindung zu Ihren Back-End-Systemen mit zusätzlicher Sicherheit herstellen möchten, können Sie statische ausgehende IP-Adressen für Ihre Verbindungen konfigurieren und dann Ihre Firewallregeln konfigurieren, um nur bestimmte statische IP-Adressen zuzulassen.

      Wenn Sie weitere Kafka-Bootstrap-Server angeben möchten, klicken Sie auf + ZIEL HINZUFÜGEN.

    2. Klicken Sie auf Weiter.
  6. Geben Sie im Abschnitt Authentifizierung die Authentifizierungsdetails ein.
    1. Wählen Sie einen Authentifizierungstyp aus und geben Sie die relevanten Details ein.

      Die folgenden Authentifizierungstypen werden von der Apache Kafka-Verbindung unterstützt:

      • Nutzername und Passwort
        • Nutzername: Der Apache Kafka-Nutzername für die Verbindung.
        • Passwort: Secret Manager-Secret, das das mit dem Apache Kafka-Nutzernamen verknüpfte Passwort enthält.
        • Auth-Schema: Das Schema, das für die Authentifizierung verwendet wird.

          Die Apache Kafka-Verbindung unterstützt die folgenden Authentifizierungsschemas:

          • Einfach
          • SCRAM-SHA-1
          • SCRAM-SHA-256
      • Nicht verfügbar

        Wenn Sie die anonyme Anmeldung verwenden möchten, wählen Sie Nicht verfügbar aus.

    2. Klicken Sie auf Weiter.
  7. Geben Sie die Konfiguration für unzustellbare Nachrichten ein. Wenn Sie ein Thema für fehlgeschlagene Nachrichten konfigurieren, schreibt die Verbindung die nicht verarbeiteten Ereignisse in das angegebene Pub/Sub-Thema. Geben Sie die folgenden Informationen ein:
    1. Projekt-ID für Unzustellbarkeitsnachrichten : Die Google Cloud-Projekt-ID, in der Sie das Pub/Sub-Thema für Unzustellbarkeitsnachrichten konfiguriert haben.
    2. Thema für unzustellbare Nachrichten : Das Pub/Sub-Thema, in das Sie die Details des nicht verarbeiteten Ereignisses schreiben möchten.
  8. Klicken Sie auf Weiter.
  9. Überprüfen: Prüfen Sie Ihre Verbindungs- und Authentifizierungsdetails.
  10. Klicken Sie auf Erstellen.

Systembeschränkungen

Der Apache Kafka-Connector kann maximal 50 Transaktionen pro Sekunde und Knoten verarbeiten und drosselt alle Transaktionen, die dieses Limit überschreiten. Standardmäßig werden für eine Verbindung zwei Knoten (für eine bessere Verfügbarkeit) zugewiesen.

Informationen zu den für Integration Connectors geltenden Limits finden Sie unter Limits.

Aktionen

PublishMessage-Aktion

Mit dieser Aktion wird eine Nachricht in einem Apache Kafka-Thema veröffentlicht. In den folgenden Tabellen werden die Eingabe- und Ausgabeparameter der Aktion PublishMessage beschrieben.

Eingabeparameter

Parametername Erforderlich Datentyp Beschreibung
Thema Ja String Name des Themas, in dem Sie die Nachricht veröffentlichen möchten.
Partition Nein String Die Partition, der die Nachricht zugewiesen ist. Der Wert muss für das angegebene Thema gültig sein. Wenn Sie diesen Wert nicht festlegen, wird er automatisch vom nativen Client festgelegt.
Schlüssel Nein String Der Nachrichtenschlüssel.
Nachricht Ja String Die Nachricht, die Sie veröffentlichen möchten. Die Nachricht sollte eine JSON-Stringdatei sein und die maximale Nachrichtengröße beträgt 10 MB.
HasBytes Nein Boolesch Gibt an, ob die Nachricht im Binärformat vorliegt.
MessageBytes Nein String Die Nachricht in Form eines Base64-codierten Strings.
Validieren Nein Boolesch Gibt an, ob die zu veröffentlichende Nachricht anhand des in der Schema-Registry definierten Nachrichtenschemas für das Thema validiert werden soll. Wenn Sie beim Erstellen einer Verbindung die Schemadatei angegeben haben, wird die Schemadefinition des Themas zur Validierung verwendet. Der Standardwert für dieses Feld ist false.

Ausgabeparameter

Parametername Datentyp Beschreibung
PartitionWritten Ganzzahl Die Partition, in die die Nachricht geschrieben wurde.
OffsetWritten Lang Die Position in der Partition, in die die Nachricht geschrieben wurde.
TimestampWritten Lang Der Zeitpunkt (Unix-Zeitstempel), zu dem die Nachricht in der Partition gespeichert wurde.
KeyWritten String Der Wert des Nachrichtenschlüssels, der geschrieben wurde. Der Wert ist NULL, wenn beim Schreiben der Nachricht kein Nachrichtenschlüssel angegeben wurde.
Erfolg Boolesch Gibt an, ob die Nachricht veröffentlicht wurde.

Hier ist ein Beispiel für eine Antwort auf die Aktion PublishMessage:

{Success: true,
PartitionWritten: 1,
OffsetWritten: 22301,
KeyWritten: "dGVzdA==",
TimestampWritten: 1690806748}

Konfiguration für Confluent Cloud

Die Konfiguration für die Confluent Cloud unterscheidet sich geringfügig von den zuvor dokumentierten Schritten für Apache Kafka. Beachten Sie beim Erstellen einer Verbindung für Confluent Cloud die folgenden Punkte:

  • Der API-Schlüssel des Confluent Cloud-Clusters wird als Nutzername und das Secret Manager-Secret des Schlüssels als Passwort für die Verbindung mit den Bootstrap-Servern verwendet. Sie müssen einen API-Schlüssel in Confluent Cloud erstellen, falls Sie ihn noch nicht haben.
  • Wählen Sie im Abschnitt Connection Details SSL verwenden aus.
  • Wenn Sie die Schema-Registry verwenden, konfigurieren Sie die folgenden Werte:
    • Im Abschnitt Connection Details
      • Registry-Version: Geben Sie die Registry-Versionsnummer ein. Wenn Sie die neueste Version verwenden möchten, geben Sie latest ein.
      • Registry-Nutzer: Geben Sie den API-Schlüssel der Schema-Registry ein. Sie müssen einen API-Schlüssel für die Schema-Registry erstellen, falls Sie dies noch nicht getan haben.
      • Registry-Passwort: Geben Sie das Secret Manager-Secret des Registry-Passworts ein.
      • Secret-Version: Wählen Sie die Secret-Versionsnummer aus.
      • Registry Type: Wählen Sie Confluent aus.
      • Typerkennungsschema : Wählen Sie MessageOnly aus.
    • Geben Sie im Abschnitt Destinations die Registry-URL in das Feld für den Hostnamen ein.

    Verbindungen mit Terraform erstellen

    Sie können die Terraform-Ressource verwenden, um eine neue Verbindung zu erstellen.

    Informationen zum Anwenden oder Entfernen einer Terraform-Konfiguration finden Sie unter Grundlegende Terraform-Befehle.

    Ein Beispiel für eine Terraform-Vorlage zum Erstellen einer Verbindung finden Sie hier.

    Wenn Sie diese Verbindung mit Terraform erstellen, müssen Sie die folgenden Variablen in Ihrer Terraform-Konfigurationsdatei festlegen:

    Parametername Datentyp Erforderlich Beschreibung
    type_detection_scheme ENUM Wahr Das Schema, das für die Authentifizierung beim Apache Kafka-Broker verwendet wird. Unterstützte Werte: MessageOnly
    registry_service ENUM Falsch Der Schema Registry-Dienst, der zum Arbeiten mit Themenschemas verwendet wird. Unterstützte Werte: Confluent
    registry_type ENUM Falsch Typ des Schemas, das für ein bestimmtes Thema angegeben wurde. Unterstützte Werte: AVRO, JSON
    registry_version STRING Falsch Version des Schemas, das für das angegebene Thema aus RegistryUrl gelesen wird. Gültige Werte für die Registrierungsversion liegen zwischen [1,2^31-1] oder dem String „latest“, der das zuletzt registrierte Schema zurückgibt.
    registry_user STRING Falsch Nutzername für die Autorisierung für den in RegistryUrl angegebenen Server .
    registry_password SECRET Falsch Secret Manager-Secret mit dem Passwort/Secret-Schlüsselwert zum Autorisieren mit dem in RegistryUrl angegebenen Server.
    usessl BOOLEAN Falsch Dieses Feld legt fest, ob SSL aktiviert ist.

    Apache Kafka-Verbindung in einer Integration verwenden

    Nachdem Sie die Verbindung erstellt haben, ist sie sowohl in Apigee Integration als auch in Application Integration verfügbar. Sie können die Verbindung in einer Integration über die Aufgabe „Connectors“ verwenden.

    • Informationen zum Erstellen und Verwenden der Connectors-Aufgabe in Apigee Integration finden Sie unter Connectors-Aufgabe.
    • Informationen zum Erstellen und Verwenden der Connectors-Aufgabe in Application Integration finden Sie unter Connectors-Aufgabe.

    Hilfe von der Google Cloud-Community erhalten

    Sie können Ihre Fragen und Anregungen zu diesem Connector in der Google Cloud-Community unter Cloud-Foren posten.

    Nächste Schritte