Aus einer PostgreSQL-Datenbank lesen

In dieser Anleitung erfahren Sie, wie Sie Daten aus einer PostgreSQL-Datenbank lesen.

Hinweis

  1. Melden Sie sich bei Ihrem Google Cloud-Konto an. Wenn Sie mit Google Cloud noch nicht vertraut sind, erstellen Sie ein Konto, um die Leistungsfähigkeit unserer Produkte in der Praxis sehen und bewerten zu können. Neukunden erhalten außerdem ein Guthaben von 300 $, um Arbeitslasten auszuführen, zu testen und bereitzustellen.
  2. Wählen Sie in der Google Cloud Console auf der Seite der Projektauswahl ein Google Cloud-Projekt aus oder erstellen Sie eines.

    Zur Projektauswahl

  3. Die Abrechnung für das Cloud-Projekt muss aktiviert sein. So prüfen Sie, ob die Abrechnung für Ihr Projekt aktiviert ist.

  4. Cloud Data Fusion, Cloud Storage, BigQuery, and Cloud Dataproc APIs aktivieren.

    Aktivieren Sie die APIs

  5. Erstellen Sie eine Cloud Data Fusion-Instanz.
  6. Die PostgreSQL-Datenbank muss Verbindungen von Cloud Data Fusion akzeptieren. Daher empfehlen wir Ihnen, eine private Cloud Data Fusion-Instanz zu erstellen.

Bei Verwendung von Cloud Data Fusion verwenden Sie sowohl die Cloud Console als auch die separate UI von Cloud Data Fusion. In der Cloud Console können Sie ein Google Cloud-Projekt erstellen sowie Cloud Data Fusion-Instanzen erstellen und löschen. In der Benutzeroberfläche von Cloud Data Fusion können Sie die verschiedenen Seiten wie Studio oder Wrangler nutzen, um Features von Cloud Data Fusion zu nutzen.

  1. Öffnen Sie in der Cloud Console die Seite Instanzen.

    Zur Seite "Instanzen"

  2. Klicken Sie in der Spalte Aktionen für die Instanz auf den Link Instanz aufrufen.

  3. Gehen Sie in der Cloud Data Fusion-Benutzeroberfläche über den linken Navigationsbereich zu der gewünschten Seite.

Speichern Sie Ihr PostgreSQL-Passwort als Sicherheitsschlüssel

Fügen Sie Ihr PostgreSQL-Passwort als sicheren Schlüssel hinzu, um Ihre Cloud Data Fusion-Instanz zu verschlüsseln. Später in diesem Leitfaden sorgen Sie dafür, dass Ihr Passwort mit Cloud KMS abgerufen wird.

  1. Klicken Sie rechts oben auf einer beliebigen Seite von Cloud Data Fusion auf Systemadministrator.

  2. Klicken Sie auf den Tab Configuration (Konfiguration).

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

    Configuration um.

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

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

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

  7. Klicken Sie auf Senden.

    Passwort

Achten Sie darauf, dass die Antwort, die Sie erhalten, der Statuscode 200 ist.

JDBC-Treiber für Cloud SQL PostgreSQL abrufen

Da Cloud SQL die Socket-Factory-Bibliothek für JDBC-Treiber benötigt, erstellen Sie den JDBC-Treiber aus dem Cloud SQL Socket Factory-Repository auf GitHub. Sie können die JDBC-Treiber auch von der Releaseseite des Cloud SQL Socket Factory-Repositorys auf GitHub herunterladen.

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 links unten auf dem Bildschirm auf Verbindung hinzufügen.

  3. Wählen Sie als zu verbindenden Quelltyp Datenbank aus.

    Verbindung hinzufügen

  4. Klicken Sie unter Google Cloud SQL für PostgreSQL auf den Link 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 Weiter.

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

  8. Klicken Sie auf 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_conn_name&socketFactory=com.google.cloud.sql.postgres.SocketFactory&useSSL=false
    

    Dabei gilt:

    • database_name: Der Cloud SQL-Datenbankname, der auf der Seite „Instanzdetails“ auf dem Tab Datenbanken aufgeführt ist.
    • instance_conn_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. Weisen Sie dem Dienstkonto „service-project-number@gcp-sa-datafusion.iam.gserviceaccount.com“ die folgenden IAM-Rollen zu:

    • Cloud SQL-Administrator
    • Cloud Data Fusion-Administrator
    • Cloud Data Fusion API-Dienst-Agent
  14. Klicken Sie auf Verbindung testen, um sicherzustellen, dass die Verbindung mit der Datenbank hergestellt werden kann.

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

Nächste Schritte