Einrichten von Openflow Connector for Google Sheets

Bemerkung

Der Konnektor unterliegt den Bedingungen für Konnektoren.

Unter diesem Thema werden die Schritte zur Einrichtung von Openflow Connector for Google Sheets beschrieben.

Voraussetzungen

  1. Stellen Sie sicher, dass Sie Allgemeine Informationen zu Openflow Connector for Google Sheets gelesen haben.

  2. Stellen Sie sicher, dass Sie Openflow eingerichtet haben.

Die Anmeldeinformationen erhalten

Führen Sie als Google Cloud-Administrator die folgenden Aufgaben aus:

  1. Stellen Sie sicher, dass Sie Folgendes haben:

  2. Aktivieren Sie die Erstellung von Schlüsseln für Dienstkonten. Google deaktiviert standardmäßig die Erstellung von Schlüsseln für Dienstkonten. Diese Richtlinie zur Schlüsselerstellung muss deaktiviert werden, damit Snowflake Openflow das Konto des JSON-Dienstes verwenden kann. Um die Erstellung von Kontenschlüsseln zu ermöglichen, führen Sie die folgenden Aufgaben aus:

    1. Melden Sie sich bei der Google Cloud Console mit einem Super-Admin-Konto an, das über die Rolle „Organizational Policy Admin“ verfügt.

    2. Stellen Sie sicher, dass Sie sich in dem Projekt befinden, das Ihrer Organisation zugeordnet ist, und nicht in dem Projekt innerhalb Ihrer Organisation.

    3. Wählen Sie Organization Policies aus.

    4. Wählen Sie die Richtlinie Disable service account key creation aus.

    5. Wählen Sie Manage Policy und schalten Sie die Durchsetzung aus.

    6. Wählen Sie Set Policy aus.

  3. Erstellen Sie ein Konto und einen Schlüssel.

  4. Geben Sie die Google Sheets-Tabelle mit der E-Mail-Adresse des Dienstkontos frei. Die E-Mail-Adresse finden Sie in der JSON-Datei des Dienstkontos unter dem Feld client_email. Setzen Sie die Freigabeberechtigungen auf Viewer.

Snowflake-Konto einrichten

Als Snowflake-Kontoadministrator führen Sie die folgenden Aufgaben aus:

  1. Erstellen Sie eine neue Rolle oder verwenden Sie eine vorhandene Rolle und erteilen Sie die Berechtigungen von Datenbanken.

  2. Erstellen Sie einen neuen Benutzer für den Snowflake-Dienst mit dem Typ SERVICE.

  3. Weisen Sie dem Benutzer des Snowflake-Dienstes die Rolle zu, die Sie in den vorherigen Schritten erstellt haben.

  4. Konfigurieren Sie mit Schlüsselpaar-Authentifizierung für den Snowflake SERVICE-Benutzer aus Schritt 2.

  5. 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.

    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.

    1. 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.

    2. 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.

    3. 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.

  6. Wenn andere Snowflake-Benutzer Zugriff auf die vom Konnektor aufgenommenen Rohdokumente und -tabellen benötigen (z. B. für die benutzerdefinierte Verarbeitung in Snowflake), weisen Sie diesen Benutzern die in Schritt 1 erstellte Rolle zu.

  7. Bestimmen Sie ein Warehouse, das der Konnektor verwenden soll. Beginnen Sie mit der kleinsten Warehouse-Größe und experimentieren Sie dann mit der Größe in Abhängigkeit von der Anzahl der zu replizierenden Tabellen und der Menge der übertragenen Daten. Große Tabellenzahlen lassen sich in der Regel besser mit Multi-Cluster-Warehouses skalieren als mit größeren Warehouse-Größen.

Einrichten des Konnektors

Als Data Engineer führen Sie die folgenden Aufgaben aus, um den Konnektor zu installieren und zu konfigurieren:

Konnektor installieren

  1. Navigieren Sie zur Openflow-Übersichtsseite. Wählen Sie im Abschnitt Featured connectors die Option View more connectors aus.

  2. Suchen Sie auf der Seite Openflow-Konnektoren den Konnektor und wählen Sie Add to runtime.

  3. Wählen Sie im Dialog Select runtime Ihre Laufzeit aus der Dropdown-Liste Available runtimes aus.

  4. Wählen Sie Add aus.

    Bemerkung

    Bevor Sie den Konnektor installieren, stellen Sie sicher, dass Sie in Snowflake eine Datenbank und ein Schema für den Konnektor erstellt haben, in dem die aufgenommenen Daten gespeichert werden.

  5. 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.

  6. Authentifizieren Sie sich bei der Laufzeit mit den Anmeldeinformationen Ihres Snowflake-Kontos.

Das Openflow-Canvas wird mit der hinzugefügten Prozessgruppe des Konnektors angezeigt.

Konnektor konfigurieren

  1. Klicken Sie mit der rechten Maustaste auf die importierte Prozessgruppe und wählen Sie Parameters.

  2. Geben Sie die erforderlichen Parameterwerte ein, wie unter Ablaufparameter beschrieben.

Ablaufparameter

Die Konfiguration der Verbindungsdefinition ist in drei Parameterkontexte unterteilt:

Bemerkung

Der Parameterkontext Aufnahmeparameter für Google Sheets enthält tabellenspezifische Details. Daher müssen Sie für jede neue Tabelle und jede neue Prozessgruppe einen neuen Parameterkontext erstellen.

Um einen neuen Parameterkontext zu erstellen, gehen Sie zum Menü „Openflow Canvas“, wählen Sie Parameter Contexts aus, und fügen Sie einen neuen Parameterkontext hinzu. Er erbt Parameter aus den Parameterkontexten der Zielsystemparameter für Google Sheets und der Quellsystemparameter für Google Sheets.

Die folgenden Tabellen beschreiben die Ablaufparameter, die Sie auf der Grundlage der Parameterkontexte konfigurieren können:

Zielsystemparameter für Google Sheets

Parameter

Beschreibung

Destination Database

Die Datenbank, in der die Daten persistiert werden. Sie muss bereits in Snowflake vorhanden sein

Destination Schema

Das Schema, in dem die Daten persistiert werden. Sie muss bereits in Snowflake vorhanden sein

Snowflake Account Identifier

Snowflake-Kontoname im Format [organisation-name]-[account-name], in dem die Daten gespeichert werden

Snowflake Authentication Strategy

Strategie zur Authentifizierung bei Snowflake. Mögliche Werte: SNOWFLAKE_SESSION_TOKEN – wenn wir den Ablauf auf SPCS ausführen, KEY_PAIR, wenn wir den Zugriff mit einem privaten Schlüssel einrichten wollen

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

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 -----BEGIN PRIVATE. Aktivieren Sie das Kontrollkästchen Reference asset, um die private Schlüsseldatei hochzuladen.

Snowflake Private Key Password

Das Kennwort, das mit der Snowflake Private Key-Datei verknüpft ist

Snowflake Role

Snowflake-Rolle, die bei der Ausführung der Abfrage verwendet wird

Snowflake-Benutzername

Benutzername für die Verbindung zur Snowflake-Instanz

Snowflake Warehouse

Snowflake Warehouse zur Ausführung von Abfragen

Quellsystemparameter für Google Sheets

Parameter

Beschreibung

Service Account JSON

Inhalt der Datei mit den Dienstkonto-Anmeldeinformationen, wie „client_id, client_email“ und „private_key“. Kopieren Sie den gesamten Inhalt der Datei.

Aufnahmeparameter für Google Sheets

In der folgenden Tabelle sind nur die Parameter aufgeführt, die nicht von anderen Parameterkontexten geerbt werden.

Parameter

Beschreibung

Date Time Render Option

Legt fest, wie das Datum in der Ausgabe dargestellt werden soll. Sie können eine der folgenden Optionen wählen: SERIAL_NUMBER und FORMATTED_STRING. Wählen Sie SERIAL_NUMBER nur, wenn der Parameter „Value Render Option“ auf UNFORMATTED_VALUE eingestellt ist. Weitere Informationen dazu finden Sie unter DateTimeRenderOption.

Destination Database

Die Zieldatenbank, in der die Zieltabelle erstellt wird.

Destination Schema

Das Zielschema, in dem die Zieltabelle erstellt wird.

Destination Table Prefix

Das Präfix für die Zieltabelle ist der Ort, an dem die aus Google Sheets abgerufenen Berichtsdaten gespeichert werden. Der Konnektor erstellt eine Zieltabelle für jeden Bereich. Wenn keine Bereiche angegeben werden, werden die Blattnamen als Tabellenbezeichner verwendet. Die erste Zeile in einem Blatt stellt die Spaltennamen in der Zieltabelle dar.

Ranges

Die Liste der Bereiche, die aus der Tabelle abgerufen werden sollen. Wenn kein Bereich angegeben wird, werden alle Blätter der angegebenen Tabelle heruntergeladen. Geben Sie für jeden Bereich entweder in der Notation A1 oder R1C1 an, getrennt durch ein Komma. Beispiel: Sheet1!A1:B2,Sheet2!D4:E5,Sheet3.

Run Schedule

Führt einen Zeitplan aus, nach dem die Daten aus Google Sheets abgerufen und in Snowflake gespeichert werden. Standardmäßig wird die Timer-gesteuerte Planungsstrategie verwendet, und hier gibt der Benutzer ein Intervall an, z. B. 8h.

Spreadsheet ID

Der eindeutige Bezeichner für eine Tabelle. Sie finden sie unter der URL der Tabelle.

Value Render Option

Legt fest, wie die Werte in der Ausgabe wiedergegeben werden sollen. Sie können eine der folgenden Optionen wählen: FORMATTED_VALUE und UNFORMATTED_VALUE. Wenn Sie FORMATTED_VALUE wählen, dann sind alle Spalten in der Zieltabelle vom Typ VARCHAR. Weitere Informationen dazu finden Sie unter ValueRenderOption.

Bemerkung

Der Bezeichner der Zieltabelle ist eine Kombination aus dem Präfix der Zieltabelle und dem Bereichsnamen und muss eindeutig sein. Wenn Sie Daten aus mehreren Tabellenblättern oder einzelnen Blättern herunterladen und die Bereichsnamen nicht eindeutig sind, müssen Sie für jeden Datenfluss ein eindeutiges Präfix für die Zieltabelle angeben. Der Konnektor kann fehlschlagen und bestehende Zieltabellen überschreiben, wenn die Namen der Zieltabellen nicht eindeutig sind.

Führen Sie den Ablauf aus

  1. Klicken Sie mit der rechten Maustaste auf die Ebene, und wählen Sie Enable all Controller Services.

  2. Klicken Sie mit der rechten Maustaste auf die importierte Prozessgruppe und wählen Sie Start. Der Konnektor startet die Datenaufnahme.

Bemerkung

Die importierten .xlsx müssen im Google Sheets-Format vorliegen. Wenn Sie Dateien importieren, stellen Sie sicher, dass die Datei in das Google Sheets-Format konvertiert wird, bevor Sie die Abläufe ausführen. Tabellen in einem anderen Format als Google Sheets können nicht gelesen werden. Weitere Informationen finden Sie unter Konvertieren von Dateien in das Google Sheets-Format.