Einrichten von Openflow Connector for Snowflake to Kafka¶
Bemerkung
Der Konnektor unterliegt den Bedingungen für Konnektoren.
Unter diesem Thema werden die Schritte zur Einrichtung von Openflow Connector for Snowflake to Kafka beschrieben.
Voraussetzungen¶
Stellen Sie sicher, dass Sie Allgemeine Informationen zu Openflow Connector for Snowflake to Kafka gelesen haben.
Stellen Sie sicher, dass Sie Openflow eingerichtet haben.
Erstellen Sie einen Snowflake-Stream, der nach den Änderungen abgefragt werden soll.
Erstellen Sie ein Kafka-Thema, das CDC-Meldungen aus dem Snowflake-Stream empfangen wird.
Snowflake-Konto einrichten¶
Als Snowflake-Kontoadministrator führen Sie die folgenden Aufgaben aus:
Erstellen Sie die Datenbank, die Quelltabelle und das Stream-Objekt, die der Konnektor zum Lesen von CDC-Ereignissen verwenden soll. Beispiel:
create database stream_db; use database stream_db; create table stream_source (user_id varchar, data varchar); create stream stream_on_table on table stream_source;
Erstellen Sie eine neue Rolle oder verwenden Sie eine vorhandene Rolle, und gewähren Sie die SELECT-Berechtigung für den Stream und das Quellobjekt für den Stream. Der Konnektor benötigt außerdem die USAGE-Berechtigung für die Datenbank und das Schema, die den Stream und das Quellobjekt für den Stream enthalten. Beispiel:
create role stream_reader; grant usage on database stream_db to role stream_reader; grant usage on schema stream_db.public to role stream_reader; grant select on stream_source to role stream_reader; grant select on stream_on_table to role stream_reader;
Erstellen Sie einen neuen Benutzer für den Snowflake-Dienst mit dem Typ SERVICE. Beispiel:
create user stream_user type = service;
Weisen Sie dem Benutzer des Snowflake-Dienstes die Rolle zu, die Sie in den vorherigen Schritten erstellt haben. Beispiel:
grant role stream_reader to user stream_user;
Konfigurieren Sie mit Schlüsselpaar-Authentifizierung für den Snowflake SERVICE-Benutzer aus Schritt 3.
Snowflake empfiehlt diesen Schritt dringend. Konfigurieren Sie einen von Openflow unterstützten Geheimnismanager, z. B. AWS, Azure und Hashicorp, und speichern Sie die öffentlichen und privaten Schlüssel im Geheimnisspeicher. Beachten Sie jedoch, dass der in Schritt 4 erzeugte private Schlüssel direkt als Konfigurationsparameter für die Konfiguration des Konnektors verwendet werden kann. In diesem Fall wird der private Schlüssel in der Openflow-Laufzeitkonfiguration gespeichert.
Bemerkung
Wenn Sie aus irgendeinem Grund keinen Geheimnismanager verwenden möchten, sind Sie dafür verantwortlich, die für die Schlüsselpaar-Authentifizierung verwendeten öffentlichen und privaten Schlüsseldateien gemäß den Sicherheitsrichtlinien Ihrer Organisation zu schützen.
Nachem der Geheimnismanager konfiguriert ist, legen Sie fest, wie Sie sich bei ihm authentifizieren möchten. Auf AWS wird empfohlen, die mit Openflow verknüpfte EC2-Instanzrolle zu verwenden, da auf diese Weise keine weiteren Geheimnisse gespeichert werden müssen.
Konfigurieren Sie in Openflow einen mit diesem Geheimnismanager verknüpften Parameter Provider über das Hamburger-Menü oben rechts. Navigieren Sie zu Controller Settings » Parameter Provider, und rufen Sie Ihre Parameterwerte ab.
Zu diesem Zeitpunkt können alle Anmeldeinformationen mit den zugehörigen Parameterpfaden referenziert werden, und es müssen keine sensiblen Werte innerhalb von Openflow aufbewahrt werden.
Bestimmen Sie ein Warehouse, das der Konnektor verwenden soll. Ein Konnektor kann eine einzelne Tabelle in ein einzelnes Kafka-Thema replizieren. Für diese Art der Verarbeitung können Sie das kleinste Warehouse wählen.
Einrichten des Konnektors¶
Als Data Engineer führen Sie die folgenden Aufgaben aus, um einen Konnektor zu installieren und zu konfigurieren:
Navigieren Sie zur Openflow-Übersichtsseite. Wählen Sie im Abschnitt Featured connectors die Option View more connectors aus.
Suchen Sie auf der Seite „Openflow Connectors“ den Konnektor und wählen Sie ihn aus, je nachdem, mit welcher Art von Kafka-Broker-Instanz der Konnektor kommunizieren soll.
mTLS-Version: Wählen Sie diesen Konnektor, wenn Sie das SSL-Sicherheitsprotokoll (mutual TLS) verwenden, oder wenn Sie das SASL_SSL-Protokoll verwenden und eine Verbindung zu einem Broker herstellen, der selbstsignierte Zertifikate verwendet.
SASL-Version: Wählen Sie diesen Konnektor, wenn Sie ein anderes Sicherheitsprotokoll verwenden.
Wählen Sie Add to runtime aus.
Wählen Sie im Dialog Select runtime Ihre Laufzeit aus der Dropdown-Liste Available runtimes aus.
Wählen Sie Add aus.
Authentifizieren Sie sich bei der Bereitstellung mit den Anmeldedaten Ihres Snowflake-Kontos und wählen Sie Allow, wenn Sie dazu aufgefordert werden, damit die Laufzeitanwendung auf Ihr Snowflake-Konto zugreifen kann. Die Installation des Konnektors nimmt einige Minuten in Anspruch.
Authentifizieren Sie sich bei der Laufzeit mit den Anmeldeinformationen Ihres Snowflake-Kontos.
Das Openflow-Canvas wird mit der hinzugefügten Prozessgruppe des Konnektors angezeigt.
Klicken Sie mit der rechten Maustaste auf die importierte Prozessgruppe und wählen Sie Parameters.
Geben Sie die erforderlichen Parameterwerte ein, wie unter Ablaufparameter beschrieben.
Ablaufparameter¶
In diesem Abschnitt werden die Ablaufparameter beschrieben, die Sie anhand der folgenden Parameterkontexte konfigurieren können:
Quellsystemparameter für Kafka-Senke¶
Parameter |
Beschreibung |
Erforderlich |
---|---|---|
Snowflake Account Identifier |
Snowflake-Kontoname im Format [organisation-name]-[account-name], in dem die Daten gespeichert werden sollen. Beispiel: |
Ja |
Snowflake Authentication Strategy |
Strategie zur Authentifizierung bei Snowflake. Mögliche Werte:
|
Ja |
Source Database |
Quellendatenbank. Die Datenbank sollte ein Snowflake-Stream-Objekt enthalten, das später verwendet wird. |
Ja |
Snowflake Private Key Password |
Das Kennwort, das mit dem Snowflake Private Key verknüpft ist. Dies ist nicht erforderlich, wenn der verwendete private Schlüssel nicht mit einem Kennwort gesichert ist. |
Nein |
Snowflake Role |
Snowflake-Rolle, die bei der Ausführung der Abfrage verwendet wird |
Ja |
Snowflake-Benutzername |
Benutzername für die Verbindung mit der Snowflake-Instanz |
Ja |
Snowflake Warehouse |
Snowflake Warehouse zur Ausführung von Abfragen |
Ja |
Snowflake Private Key |
Der private RSA Schlüssel, der für die Authentifizierung verwendet wird. Der RSA-Schlüssel muss nach den PKCS8-Standards formatiert sein und den Standard-PEM-Header und -Footer enthalten. Beachten Sie, dass entweder Snowflake Private Key File oder Snowflake Private Key definiert sein muss. |
Ja |
Snowflake Private Key File |
Die Datei, die den privaten RSA-Schlüssel enthält, der für die Authentifizierung bei Snowflake verwendet wird. Sie ist nach den PKCS8-Standards formatiert und hat die Standard-PEM-Header und -Footer. Die Header beginnt mit |
Nein |
Quellschema |
Das Quellschema. Dieses Schema sollte das Snowflake Stream-Objekt enthalten, das verwendet werden soll. |
Ja |
Zielsystemparameter für Kafka-Senke¶
Parameter |
Beschreibung |
Erforderlich |
---|---|---|
Kafka Bootstrap Servers |
Eine durch Kommas getrennte Liste von Kafka-Brokern, an die Daten gesendet werden sollen. |
Ja |
Kafka SASL Mechanism |
SASL-Mechanismus, der für die Authentifizierung verwendet wird. Entspricht der Eigenschaft
|
Ja |
Kafka SASL Username |
Der Benutzername für die Authentifizierung bei Kafka |
Ja |
Kafka SASL Password |
Das Kennwort für die Authentifizierung bei Kafka |
Ja |
Kafka-Sicherheitsprotokoll |
Sicherheitsprotokoll, das für die Kommunikation mit Brokern verwendet wird. Entspricht der Eigenschaft
|
Ja |
Kafka Topic |
Das Kafka-Thema, an das CDCs von Snowflake Stream gesendet werden |
Ja |
Kafka Message Key Field |
Gibt den Namen der Datenbankspalte an, die als Schlüssel für die Kafka-Meldung verwendet werden soll. Wenn nicht angegeben, wird der Meldungsschlüssel nicht gesetzt. Falls angegeben, wird der Wert dieser Spalte als Meldungsschlüssel verwendet. Bei diesem Parameter wird die Groß-/Kleinschreibung beachtet. |
Nein |
Kafka Keystore Filename |
Ein vollständiger Pfad zu einem Keystore, in dem ein Clientschlüssel und ein Zertifikat für die mTLS-Authentifizierungsmethode gespeichert sind. Erforderlich für die mTLS-Authentifizierung und wenn das Sicherheitsprotokoll SSL ist. |
Nein |
Kafka Keystore Type |
Der Typ des Keystore. Erforderlich für die mTLS Authentifizierung. Mögliche Werte:
|
Nein |
Kafka Keystore Password |
Das Kennwort, das zur Sicherung der Keystore-Datei verwendet wird. |
Nein |
Kafka Key Password |
Ein Kennwort für den im Keystore gespeicherten privaten Schlüssel. Erforderlich für die mTLS Authentifizierung. |
Nein |
Kafka Truststore Filename |
Ein vollständiger Pfad zu einem Truststore, der Broker-Zertifikate speichert. Der Client verwendet das Zertifikat aus diesem Truststore, um die Identität des Brokers zu überprüfen. |
Nein |
Kafka Truststore Type |
Der Typ der Truststore-Datei. Mögliche Werte:
|
Nein |
Kafka Truststore Password |
Ein Kennwort für die Truststore-Datei. |
Nein |
Aufnahmeparameter für Kafka-Senke¶
Parameter |
Beschreibung |
Erforderlich |
---|---|---|
Snowflake FQN Stream Name |
Vollständig qualifizierter Snowflake Stream-Name. |
Ja |
Führen Sie den Ablauf aus¶
Klicken Sie mit der rechten Maustaste auf die Ebene, und wählen Sie Enable all Controller Services.
Klicken Sie mit der rechten Maustaste auf die importierte Prozessgruppe und wählen Sie Start. Der Konnektor startet die Datenaufnahme.