Aus einer PostgreSQL-Datenbank lesen

Auf dieser Seite wird beschrieben, wie Sie Daten aus einer PostgreSQL-Datenbank in einer Cloud Data Fusion-Instanz lesen.

Hinweise

  • Erstellen Sie eine Cloud Data Fusion-Instanz.
  • Aktivieren Sie Ihre PostgreSQL-Datenbank so, dass sie Verbindungen von Cloud Data Fusion akzeptiert. Dafür empfehlen wir die Verwendung einer privaten Cloud Data Fusion-Instanz.

Erforderliche Rollen

Bitten Sie den Administrator, Ihnen die folgenden IAM-Rollen zu gewähren, um die Berechtigungen zu erhalten, die Sie zum Herstellen einer Verbindung zu einer PostgreSQL-Datenbank benötigen:

  • Dataproc-Worker (roles/dataproc.worker) im Dataproc-Dienstkonto in dem Projekt, das den Cluster enthält
  • Cloud Data Fusion Runner (roles/datafusion.runner) für das Dataproc-Dienstkonto in dem Projekt, das den Cluster enthält
  • So verwenden Sie Cloud SQL ohne den Cloud SQL Auth Proxy: Cloud SQL-Client (roles/cloudsql.client) im Projekt, das die Cloud SQL-Instanz enthält

Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff verwalten.

Möglicherweise können Sie die erforderlichen Berechtigungen auch über benutzerdefinierte Rollen oder andere vordefinierte Rollen erhalten.

Instanz in Cloud Data Fusion öffnen

  1. Rufen Sie in der Google Cloud Console die Seite „Cloud Data Fusion“ auf.

  2. Klicken Sie zum Öffnen der Instanz in der Cloud Data Fusion-Weboberfläche auf Instanzen und dann auf Instanz ansehen.

    Zur Seite „VM-Instanzen“

Speichern Sie Ihr PostgreSQL-Passwort als Sicherheitsschlüssel

Geben Sie Ihr PostgreSQL-Passwort als sicheren Schlüssel für die Verschlüsselung in Ihrer Cloud Data Fusion-Instanz ein. Weitere Informationen zu Schlüsseln finden Sie unter Cloud KMS.

  1. Klicken Sie in der Cloud Data Fusion-UI auf System admin > Configuration (Systemadministrator > Konfiguration).

  2. Klicken Sie auf HTTP-Aufrufe ausführen.

    Configuration um.

  3. Wählen Sie im Drop-down-Menü PUT aus.

  4. Geben Sie im Feld Pfad namespaces/default/securekeys/pg_password ein.

  5. Geben Sie im Feld Body den Wert {"data":"POSTGRESQL_PASSWORD"} ein. Ersetzen Sie POSTGRESQL_PASSWORD durch Ihr PostgreSQL-Passwort.

  6. Klicken Sie auf Senden.

    Passwort

Im Feld Antwort werden Sie über etwaige Fehler informiert.

Mit Cloud SQL for PostgreSQL verbinden

  1. Klicken Sie in der Cloud Data Fusion-UI auf das Menü und rufen Sie die Seite Wrangler auf.

  2. Klicken Sie auf Verbindung hinzufügen.

  3. Wählen Sie Datenbank als Quelltyp für die Verbindung aus.

    Verbindung hinzufügen

  4. Klicken Sie unter Google Cloud SQL for PostgreSQL auf Hochladen.

    Quelle auswählen.

  5. Laden Sie eine JAR-Datei hoch, die Ihren PostgreSQL-Treiber enthält. Ihre JAR-Datei muss das Format NAME-VERSION.jar haben. Wenn Ihre JAR-Datei dieses Format nicht befolgt, benennen Sie sie vor dem Hochladen um.

  6. Klicken Sie auf Next (Weiter).

  7. Geben Sie den Namen des Treibers, den Klassennamen und die Version in die Felder ein.

  8. Klicken Sie auf Finish (Beenden).

  9. Klicken Sie im angezeigten Fenster Verbindung hinzufügen auf Google Cloud SQL für PostgreSQL. Der JAR-Name sollte unter Google Cloud SQL for PostgreSQL angezeigt werden.

    JAR-Datei hochgeladen.

  10. Füllen Sie die Pflichtfelder aus. Wählen Sie im Feld Passwort den zuvor gespeicherten Schlüssel aus. Dadurch wird Ihr Passwort mit Cloud KMS abgerufen.

    Passwort auswählen

  11. Geben Sie im Feld Verbindungsstring den Verbindungsstring so ein:

    jdbc:postgresql://google/DATABASE_NAME?cloudSqlInstance=INSTANCE_CONNECTION_NAME&socketFactory=com.google.cloud.sql.postgres.SocketFactory&useSSL=false
    

    Ersetzen Sie Folgendes:

    • DATABASE_NAME: Der Cloud SQL-Datenbankname, der auf der Seite „Instanzdetails“ auf dem Tab Datenbanken aufgeführt ist.
    • INSTANCE_CONNECTION_NAME: Der Name der Cloud SQL-Instanzverbindung, der auf der Seite „Instanzdetails“ auf dem Tab Übersicht angezeigt wird.
    Name der Instanzverbindung.

    Beispiel:

    jdbc:postgresql://google/postgres?cloudSqlInstance=dis-demo:us-central1:pgsql-1&socketFactory=com.google.cloud.sql.postgres.SocketFactory&useSSL=false
    

  12. Cloud SQL Admin API aktivieren.

  13. Klicken Sie auf Verbindung testen, um sicherzustellen, dass die Verbindung mit der Datenbank hergestellt werden kann.

  14. Klicken Sie auf Verbindung hinzufügen.

Nachdem die PostgreSQL-Datenbank verbunden wurde, können Sie in Wrangler Transformationen auf Ihre Daten anwenden und in Studio eine Pipeline erstellen sowie die Ausgabe in eine Senke schreiben.