Realiza operaciones de lectura 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 un instancia de Cloud Data Fusion.

Antes de comenzar

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

Roles obligatorios

Para obtener los permisos que necesitas 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 del proyecto que contiene el clúster
  • Para usar Cloud SQL sin el proxy de Cloud SQL Auth, usa el Cliente de Cloud SQL (roles/cloudsql.client) en el proyecto que contiene la instancia de Cloud SQL.

Para obtener más información sobre cómo otorgar roles, consulta Administra el acceso a proyectos, carpetas y organizaciones.

También puedes obtener los permisos necesarios mediante roles personalizados o cualquier otro rol predefinido.

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 Cloud Data Fusion Studio, haz 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. Para obtener más información sobre las claves, consulta Cloud KMS.

  1. En la IU de Cloud Data Fusion, haz clic en System admin >. Configuración.

  2. Haz clic en Realizar llamadas HTTP.

    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. Haz clic en Enviar.

    Contraseña

El campo Respuesta te notifica sobre cualquier error.

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 (Database) 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 del conductor, el nombre de la clase y la versión en los campos.

  8. Haz clic en Finish (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 tu 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).