Lee desde una base de datos de PostgreSQL

En esta página, se describe cómo leer datos de una base de datos de PostgreSQL en una instancia de Cloud Data Fusion.

Antes de comenzar

  • Crea una instancia de Cloud Data Fusion.
  • Habilita tu base de datos de PostgreSQL para aceptar conexiones de Cloud Data Fusion. Para hacerlo de forma segura, te recomendamos que uses una instancia privada de Cloud Data Fusion.

Funciones obligatorias

A fin de obtener los permisos necesarios para conectarte a una base de datos de PostgreSQL, pídele a tu administrador que te otorgue los siguientes roles de IAM:

  • Trabajador de Dataproc (roles/dataproc.worker) en la cuenta de servicio de Dataproc en el proyecto que contiene el clúster
  • Ejecutor de Cloud Data Fusion (roles/datafusion.runner) en la cuenta de servicio de Dataproc en el proyecto que contiene el clúster
  • Para usar Cloud SQL sin el proxy de autenticación de Cloud SQL, haz lo siguiente: Cliente de Cloud SQL (roles/cloudsql.client) en el proyecto que contiene la instancia de Cloud SQL

Si quieres obtener más información para otorgar funciones, consulta Administra el acceso.

Es posible que también puedas obtener los permisos necesarios mediante funciones personalizadas, o bien otras funciones predefinidas.

Abre tu instancia en Cloud Data Fusion

  1. En la consola de Google Cloud, ve a la página de Cloud Data Fusion.

  2. Para abrir la instancia en la interfaz web de Cloud Data Fusion, haga clic en Instancias y, luego, en Ver instancia.

    Ir a Instancias

Almacena tu contraseña de PostgreSQL como una llave de seguridad

Ingresa tu contraseña de PostgreSQL como una clave segura para encriptar en tu instancia de Cloud Data Fusion. Consulta Cloud KMS para obtener más información sobre las claves.

  1. En la IU de Cloud Data Fusion, haz clic en Administrador del sistema > Configuración.

  2. Haz clic en Make HTTP Calls.

    Configuración

  3. En el menú desplegable, selecciona PUT.

  4. En el campo Ruta de acceso, ingresa namespaces/default/securekeys/pg_password.

  5. En el campo Cuerpo (Body), ingresa {"data":"POSTGRESQL_PASSWORD"}. Reemplaza POSTGRESQL_PASSWORD por tu contraseña de PostgreSQL.

  6. Haga clic en Enviar.

    Contraseña

El campo Respuesta te notifica si hay errores.

Conéctate a Cloud SQL para PostgreSQL

  1. En la IU de Cloud Data Fusion, haz clic en el menú y navega a la página Wrangler.

  2. Haz clic en Agregar conexión.

  3. Elige Base de datos como el tipo de fuente para conectarte.

    Agregar conexión

  4. En Google Cloud SQL para PostgreSQL, haz clic en Subir.

    Elige la fuente.

  5. Sube un archivo JAR que contenga el controlador PostgreSQL. Tu archivo JAR debe tener el formato NAME-VERSION.jar. Si tu archivo JAR no sigue este formato, cámbiale el nombre antes de subirlo.

  6. Haz clic en Siguiente.

  7. Ingresa el nombre, el nombre de la clase y la versión del controlador en los campos.

  8. Haz clic en Finalizar.

  9. En la ventana Agregar conexión que se abre, haz clic en Google Cloud SQL para PostgreSQL. Tu nombre de JAR debe aparecer en Google Cloud SQL para PostgreSQL.

    Se subió el JAR.

  10. Completa los campos de conexión obligatorios. En el campo Contraseña, selecciona la clave segura que almacenaste antes. Esto garantiza que tu contraseña se recupere mediante Cloud KMS.

    Elige una contraseña

  11. En el campo String de conexión, ingresa la string de conexión de la siguiente manera:

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

    Reemplaza lo siguiente:

    • DATABASE_NAME: el nombre de la base de datos de Cloud SQL que se muestra en la pestaña Bases de datos de la página de detalles de la instancia.
    • INSTANCE_CONNECTION_NAME: el nombre de la conexión de la instancia de Cloud SQL como se muestra en la pestaña Descripción general de la página de detalles de la instancia.
    Nombre de conexión con la instancia.

    Por ejemplo:

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

  12. Habilita la API de Cloud SQL Admin

  13. Haz clic en Probar conexión para asegurarte de que la conexión se pueda establecer con la base de datos.

  14. Haz clic en Agregar conexión.

Después de conectar tu base de datos de PostgreSQL, puedes aplicar transformaciones a tus datos (en Wrangler), crear una canalización y escribir tu salida en un receptor (en Studio).