Apache Kafka
Mit dem Apache Kafka-Connector können Sie Einfüge-, Lösch-, Aktualisierungs- und Lesevorgänge in der Apache Kafka-Datenbank ausführen.
Unterstützte Versionen
Der Apache Kafka-Connector nutzt die nativen Clientbibliotheken, um eine Verbindung zu Kafka-Cluster und der Connector funktioniert mit der Client-Version 3.3.1. Der Connector hat jedoch kann eine Verbindung zu Kafka-Clustern von Version 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:
- Weisen Sie dem Nutzer die IAM-Rolle roles/connectors.admin zu. Connector konfigurieren.
- 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
Für die Konfiguration des Connectors müssen Sie eine Verbindung zu Ihrer Datenquelle (Backend-System) erstellen. 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:
- 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.
- Klicken Sie auf + NEU ERSTELLEN, um die Seite Verbindung erstellen zu öffnen.
- Wählen Sie im Schritt Speicherort den Speicherort für die neue Apache Kafka-Verbindung aus:
<ph type="x-smartling-placeholder">
- </ph>
- Region:Wählen Sie eine Region aus der Liste aus.
- Klicken Sie auf Weiter.
- Geben Sie im Schritt Verbindungsdetails Details zur neuen Apache Kafka-Verbindung an:
<ph type="x-smartling-placeholder">
- </ph>
- Connector-Version:Wählen Sie eine verfügbare Version des Apache Kafka-Connectors aus der Liste aus.
- Connection Name (Verbindungsname): Geben Sie einen Namen für die Apache Kafka-Verbindung ein.
- Optional: Beschreibung : Geben Sie eine Beschreibung für die Verbindung ein.
- (Optional) Cloud Logging aktivieren: Klicken Sie dieses Kästchen an, um alle Logdaten der Verbindung zu speichern.
- Dienstkonto: Wählen Sie ein Dienstkonto mit den erforderlichen IAM-Rollen für die Apache Kafka-Verbindung aus.
- Die Option Ereignisabo, Entität und Aktionen aktivieren ist standardmäßig für die Apache Kafka-Verbindung ausgewählt.
- Typerkennungsschema : Wählen Sie
MessageOnly
aus. - Registry-Dienst: Der Schema Registry-Dienst, der zum Arbeiten mit Themenschemas verwendet wird.
- Registry-Typ: Typ des Schemas, das für ein bestimmtes Thema angegeben wurde.
-
Registry Version: Version des Schemas, das für das angegebene Thema aus
RegistryUrl
gelesen wurde. -
Registry-Nutzer: Nutzername oder Zugriffsschlüsselwert, der mit dem in
RegistryUrl
angegebenen Server autorisiert werden soll. -
Registry-Passwort: Secret Manager-Secret mit dem Passwort bzw. geheimen Schlüsselwert, der mit dem in
RegistryUrl
angegebenen Server autorisiert werden soll. - Konfigurieren Sie optional die Einstellungen für den Verbindungsknoten:
- 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.
- Optional können Sie auf + LABEL HINZUFÜGEN klicken, um der Verbindung ein Label in Form eines Schlüssel/Wert-Paars hinzuzufügen.
- SSL aktivieren: In diesem Feld wird festgelegt, ob SSL aktiviert ist.
- Klicken Sie auf Weiter.
- Geben Sie im Abschnitt Ziele die Details zum Remote-Host (Backend-System) ein, zu dem Sie eine Verbindung herstellen möchten.
- Destination Type: Wählen Sie einen Destination Type aus.
- Wählen Sie aus der Liste Hostadresse aus, um den Hostnamen oder die IP-Adresse für das Ziel anzugeben.
- Wenn Sie eine private Verbindung zu Ihren Backend-Systemen herstellen möchten, wählen Sie in der Liste Endpunktanhang und dann den erforderlichen Endpunktanhang 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 Ziele eingeben möchten, klicken Sie auf + ZIEL HINZUFÜGEN.
- Klicken Sie auf Next (Weiter).
- Destination Type: Wählen Sie einen Destination Type aus.
-
Geben Sie im Abschnitt Authentifizierung die Authentifizierungsdetails ein.
- 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
<ph type="x-smartling-placeholder">
- </ph>
- 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 Scheme (Authentifizierungsschema): Das für die Authentifizierung verwendete Schema.
Das folgende Authentifizierungsschema wird von der Apache Kafka-Verbindung unterstützt:
- 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.
-
Nutzername und Passwort
<ph type="x-smartling-placeholder">
- Klicken Sie auf Weiter.
- Wählen Sie einen Authentifizierungstyp aus und geben Sie die relevanten Details ein.
- Geben Sie die Konfiguration für unzustellbare Nachrichten ein. Wenn Sie unzustellbare Nachrichten konfigurieren, schreibt die Verbindung
die nicht verarbeiteten Ereignisse an das angegebene Pub/Sub-Thema. Geben Sie die folgenden Informationen ein:
<ph type="x-smartling-placeholder">
- </ph>
- Projekt-ID für unzustellbare Nachrichten : Die ID des Google Cloud-Projekts, in dem Sie das Pub/Sub-Thema für unzustellbare Nachrichten konfiguriert haben.
- Thema für unzustellbare Nachrichten: Das Pub/Sub-Thema, in das Sie die Details des nicht verarbeiteten Ereignisses schreiben möchten.
- Klicken Sie auf Weiter.
- Überprüfen: Prüfen Sie Ihre Verbindungs- und Authentifizierungsdetails.
- Klicken Sie auf Erstellen.
Entitäten, Vorgänge und Aktionen
Alle Integration Connectors bieten eine Abstraktionsebene für die Objekte der verbundenen Anwendung. Sie können nur über diese Abstraktion auf die Objekte einer Anwendung zugreifen. Die Abstraktion wird Ihnen als Entitäten, Vorgänge und Aktionen zur Verfügung gestellt.
- Entität: Eine Entität kann als Objekt oder Sammlung von Attributen in der verbundenen Anwendung oder im verbundenen Dienst verstanden werden. Die Definition einer Entität unterscheidet sich von Connector zu Connector. Beispiel: In einem Datenbank-Connector sind Tabellen die Entitäten, in einem Dateiserver-Connector sind Ordner die Entitäten und in einem Nachrichtensystem-Connector sind Warteschlangen die Entitäten.
Es ist jedoch möglich, dass ein Connector keine Entitäten unterstützt oder keine Entitäten enthält. In diesem Fall ist die Liste
Entities
leer. - Vorgang: Ein Vorgang ist die Aktivität, die Sie für eine Entität ausführen können. Sie können einen der folgenden Vorgänge für eine Entität ausführen:
Durch Auswahl einer Entität aus der verfügbaren Liste wird eine Liste der Vorgänge generiert, die für die Entität verfügbar sind. Eine detaillierte Beschreibung der Vorgänge finden Sie in den Entitätsvorgängen der Connectors-Aufgabe. Unterstützt ein Connector jedoch keine Entitätsvorgänge, Vorgänge sind nicht in der
Operations
-Liste aufgeführt. - Aktion: Eine Aktion ist eine Funktion erster Klasse, die über die Connector-Benutzeroberfläche für die Integration verfügbar gemacht wird. Mit einer Aktion können Sie Änderungen an einer oder mehreren Entitäten vornehmen, die von Connector zu Connector unterschiedlich sind. Normalerweise hat eine Aktion
einige Eingabeparameter und eine Ausgabe
. Es ist jedoch möglich, dass ein Connector keine Aktionen unterstützt. In diesem Fall ist die
Actions
-Liste leer.
Systembeschränkungen
Der Apache Kafka-Connector kann maximal 50 Transaktionen pro Sekunde verarbeiten. pro Knoten, und drosselt beliebige Transaktionen über dieses Limit hinaus. Standardmäßig weist Integration Connectors einer Verbindung 2 Knoten zu (für bessere Verfügbarkeit).
Informationen zu den für Integration Connectors geltenden Limits finden Sie unter Beschränkungen.
Aktionen
PublishMessage-Aktion
Durch diese 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 gültig sein für um das jeweilige Thema zu reflektieren. Wenn Sie diesen Wert nicht festlegen, wird er automatisch vom nativen Client festgelegt. |
Schlüssel | Nein | String | Der Nachrichtenschlüssel. |
Meldung | 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 | Long | Die Position in der Partition, in die die Nachricht geschrieben wurde. |
TimestampWritten | Long | Der Zeitpunkt (Unix-Zeitstempel), zu dem die Nachricht per Commit in die Partition übertragen wurde. |
KeyWritten | String | Der Wert des geschriebenen Nachrichtenschlüssels. Der Wert ist NULL, wenn kein Nachrichtenschlüssel angegeben wurde wenn Sie die Nachricht schreiben. |
Erfolg | Boolesch | Gibt an, ob die Nachricht veröffentlicht wurde. |
Hier eine Beispielantwort der PublishMessage
-Aktion:
{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.
- Registry-Version: Geben Sie die Registry-Versionsnummer ein. Wenn Sie die neueste Version verwenden möchten, geben Sie
- Geben Sie im Abschnitt
Destinations
die Registry-URL in das Feld für den Hostnamen ein.
Verbindungen mit Terraform erstellen
Mit dem Terraform-Code Ressource, um eine neue Verbindung zu erstellen.Informationen zum Anwenden oder Entfernen einer Terraform-Konfiguration finden Sie unter Grundlegende Terraform-Befehle.
Eine Beispiel-Terraform-Vorlage für die Verbindungserstellung finden Sie unter Beispielvorlage.
Wenn Sie diese Verbindung mithilfe von Terraform erstellen, müssen Sie die folgenden Variablen in der Terraform-Konfigurationsdatei festlegen:
Parametername Datentyp Erforderlich Beschreibung type_detection_scheme ENUM Wahr Das Schema, das für die Authentifizierung mit dem Apache Kafka-Broker verwendet wird. Unterstützte Werte: MessageOnly registry_service ENUM Falsch Der Schemaregistrierungsdienst, 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 ist. Unterstützte Werte: AVRO, JSON registry_version STRING Falsch Version des Schemas, das aus RegistryUrl für das angegebene Thema gelesen wurde. Gültige Werte für die Registry-Version liegen zwischen [1,2^31-1] oder dem String „latest“, der das zuletzt registrierte Schema zurückgibt. registry_user STRING Falsch Nutzername, der mit dem in RegistryUrl angegebenen Server autorisiert werden soll . registry_password GEHEIM Falsch Secret Manager-Secret mit dem Passwort/geheimen Schlüsselwert, der mit dem in der RegistryUrl angegebenen Server autorisiert werden soll. usessl BOOLEAN Falsch In diesem Feld wird festgelegt, ob SSL aktiviert ist. Apache Kafka-Verbindung in einer Integration verwenden
Nachdem Sie die Verbindung erstellt haben, ist sie in beiden Apigee-Integration und Anwendungsintegration Sie können die Verbindung über die Connectors-Aufgabe in einer Integration.
- Informationen zum Erstellen und Verwenden der Connectors-Aufgabe in der Apigee-Integration finden Sie unter Connectors-Aufgabe.
- Informationen zum Erstellen und Verwenden der Connectors-Aufgabe in Application Integration finden Sie unter Connectors.
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
- Im Abschnitt