Cette page explique comment lire les données d'une base de données PostgreSQL dans une instance Cloud Data Fusion.
Avant de commencer
- Créez une instance Cloud Data Fusion.
- Activez votre base de données PostgreSQL pour qu'elle accepte les connexions depuis Cloud Data Fusion. Pour cela, nous vous recommandons d'utiliser un une instance privée Cloud Data Fusion.
Rôles requis
Pour obtenir les autorisations dont vous avez besoin pour vous connecter à une base de données PostgreSQL, demandez à votre administrateur de vous accorder le 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, procédez comme suit:
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 page Gérer l'accès aux projets, aux dossiers et aux organisations.
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
Dans la console Google Cloud, accédez à la page Cloud Data Fusion.
Pour ouvrir l'instance dans Cloud Data Fusion Studio, Cliquez sur Instances, puis sur Afficher l'instance.
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 Cloud KMS :
Dans l'UI Cloud Data Fusion, cliquez sur System admin (Administrateur système) > Configuration.
Cliquez sur Envoyer des appels HTTP.
Dans le menu déroulant, sélectionnez PUT.
Dans le champ "Chemin d'accès", saisissez
namespaces/default/securekeys/pg_password
.Dans le champ Corps, saisissez
{"data":"POSTGRESQL_PASSWORD"}
. RemplacezPOSTGRESQL_PASSWORD
par votre instance PostgreSQL mot de passe.Cliquez sur Envoyer.
Le champ Response (Réponse) vous informe en cas d'erreur.
Se connecter à Cloud SQL pour PostgreSQL
Dans l'interface utilisateur Cloud Data Fusion, cliquez sur l'icône du menu menu et accédez à la page Wrangler.
Cliquez sur Ajouter une connexion.
Sélectionnez Base de données comme type de source pour vous connecter.
Sous Google Cloud SQL pour PostgreSQL, cliquez sur Importer.
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.Cliquez sur Suivant.
Saisissez le nom du conducteur, le nom du cours et la version dans les champs.
Cliquez sur Terminer.
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.
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.
Dans le champ Connection string (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.
Exemple :
jdbc:postgresql://google/postgres?cloudSqlInstance=dis-demo:us-central1:pgsql-1&socketFactory=com.google.cloud.sql.postgres.SocketFactory&useSSL=false
- {
Activez l'API Cloud SQL Admin.
Cliquez sur Tester la connexion pour vérifier que la connexion peut être établie avec la base de données.
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).