Lire à partir d'une base de données PostgreSQL

Cette page explique comment lire des données à partir d'une base de données PostgreSQL dans une instance Cloud Data Fusion.

Avant de commencer

  • Créez une instance Cloud Data Fusion.
  • Autorisez votre base de données PostgreSQL à accepter les connexions provenant de Cloud Data Fusion. Pour ce faire de manière sécurisée, nous vous recommandons d'utiliser une instance Cloud Data Fusion privée.

Rôles requis

Pour obtenir les autorisations nécessaires pour vous connecter à une base de données PostgreSQL, demandez à votre administrateur de vous attribuer les rôles IAM suivants:

  • Nœud de calcul Dataproc (roles/dataproc.worker) sur le compte de service Dataproc dans le projet contenant le cluster
  • Exécuteur Cloud Data Fusion (roles/datafusion.runner) sur le compte de service Dataproc dans le projet contenant le cluster
  • Pour utiliser Cloud SQL sans le proxy d'authentification Cloud SQL : client Cloud SQL (roles/cloudsql.client) sur le projet contenant l'instance Cloud SQL

Pour en savoir plus sur l'attribution de rôles, consultez la section Gérer les accès.

Vous pouvez également obtenir les autorisations requises via des rôles personnalisés ou d'autres rôles prédéfinis.

Ouvrir votre instance dans Cloud Data Fusion

  1. Dans la console Google Cloud, accédez à la page "Cloud Data Fusion".

  2. Pour ouvrir l'instance dans l'interface Web de Cloud Data Fusion, cliquez sur Instances, puis sur Afficher l'instance.

    Accéder à la page "Instances"

Stocker votre mot de passe PostgreSQL en tant que clé sécurisée

Saisissez votre mot de passe PostgreSQL en tant que clé sécurisée à chiffrer dans votre instance Cloud Data Fusion. Pour en savoir plus sur les clés, consultez la page Cloud KMS.

  1. Dans l'interface utilisateur de Cloud Data Fusion, cliquez sur System admin> Configuration (Administrateur système > Configuration).

  2. Cliquez sur Effectuer des appels HTTP.

    Configuration.

  3. Dans le menu déroulant, sélectionnez PUT.

  4. Dans le champ "Chemin d'accès", saisissez namespaces/default/securekeys/pg_password.

  5. Dans le champ Corps, saisissez {"data":"POSTGRESQL_PASSWORD"}. Remplacez POSTGRESQL_PASSWORD par votre mot de passe PostgreSQL.

  6. Cliquez sur Envoyer.

    Mot de passe.

Le champ Réponse vous informe des erreurs éventuelles.

Se connecter à Cloud SQL pour PostgreSQL

  1. Dans l'interface utilisateur Cloud Data Fusion, cliquez sur l'icône du menu et accédez à la page Wrangler.

  2. Cliquez sur Ajouter une connexion.

  3. Sélectionnez Database (Base de données) comme type de source pour vous connecter.

    Ajouter une connexion.

  4. Sous Google Cloud SQL pour PostgreSQL, cliquez sur Importer.

    Sélectionnez la source.

  5. Importez un fichier JAR contenant votre pilote PostgreSQL. Votre fichier JAR doit respecter le format NAME-VERSION.jar. Si votre fichier JAR ne respecte pas ce format, renommez-le avant de l'importer.

  6. Cliquez sur Suivant.

  7. Saisissez le nom du conducteur, le nom de la classe et la version dans les champs correspondants.

  8. Cliquez sur Terminer.

  9. Dans la fenêtre Ajouter une connexion qui s'affiche, cliquez sur Google Cloud SQL pour PostgreSQL. Votre nom JAR doit apparaître sous Google Cloud SQL pour PostgreSQL.

    JAR importé.

  10. Renseignez les champs de connexion requis. Dans le champ Mot de passe, sélectionnez la clé sécurisée que vous avez stockée précédemment. Cela garantit que votre mot de passe est récupéré à l'aide de Cloud KMS.

    Choisissez un mot de passe.

  11. Dans le champ Chaîne de connexion, saisissez votre chaîne de connexion comme suit:

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

    Remplacez les éléments suivants :

    • {DATABASE_NAME : nom de la base de données Cloud SQL répertorié dans l'onglet Bases de données de la page des détails de l'instance.
    • {INSTANCE_CONNECTION_NAME : nom de connexion de l'instance Cloud SQL tel qu'il apparaît dans l'onglet Présentation de la page des détails de l'instance.
    Nom de connexion de l'instance

    Exemple :

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

  12. Activez l'API Cloud SQL Admin.

  13. Cliquez sur Tester la connexion pour vérifier que la connexion peut être établie avec la base de données.

  14. Cliquez sur Ajouter une connexion.

Une fois votre base de données PostgreSQL connectée, vous pouvez appliquer des transformations à vos données (dans Wrangler), créer un pipeline et écrire votre sortie dans un récepteur (dans Studio).