Realizar operaciones de lectura desde una base de datos PostgreSQL

En esta guía, se muestra cómo leer datos desde una base de datos de PostgreSQL.

Antes de comenzar

  1. Accede a tu cuenta de Google Cloud. Si eres nuevo en Google Cloud, crea una cuenta para evaluar el rendimiento de nuestros productos en situaciones reales. Los clientes nuevos también obtienen $300 en créditos gratuitos para ejecutar, probar y, además, implementar cargas de trabajo.
  2. En la página del selector de proyectos de Google Cloud Console, selecciona o crea un proyecto de Google Cloud.

    Ir al selector de proyectos

  3. Asegúrate de que la facturación esté habilitada para tu proyecto de Cloud. Descubre cómo confirmar que tienes habilitada la facturación en un proyecto.

  4. Habilita las API de Cloud Data Fusion, Cloud Storage, BigQuery, and Cloud Dataproc.

    Habilita las API

  5. Crea una instancia de Cloud Data Fusion.
  6. Asegúrate de que tu base de datos de PostgreSQL pueda aceptar conexiones de Cloud Data Fusion. Para hacerlo de forma segura, te recomendamos crear una instancia privada de Cloud Data Fusion.

Cuando usas Cloud Data Fusion, usas Cloud Console y la IU de Cloud Data Fusion, que está separada. En Cloud Console, puedes crear un proyecto de Google Cloud y crear y borrar instancias de Cloud Data Fusion. En la IU de Cloud Data Fusion, puedes usar las distintas páginas, como Studio o Wrangler, para usar las funciones de Cloud Data Fusion.

  1. En Cloud Console, abre la página Instancias.

    Abrir la página de instancias

  2. En la columna Acciones de la instancia, haz clic en el vínculo Ver instancia.

  3. En la IU de Cloud Data Fusion, usa el panel de navegación izquierdo para navegar a la página que necesites.

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

Agrega tu contraseña de PostgreSQL como una clave segura para encriptar en tu instancia de Cloud Data Fusion. Más adelante en esta guía, te asegurarás de que tu contraseña se recupere con Cloud KMS.

  1. En la esquina superior derecha de cualquier página de Cloud Data Fusion, haz clic en Administrador del sistema.

  2. Haz clic en la pestaña Configuración.

  3. Haz clic en Realizar llamadas HTTP.

    Configuración

  4. En el menú desplegable, selecciona PUT.

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

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

  7. Haga clic en Enviar.

    Contraseña

Asegúrate de que la Respuesta (Response) que recibes sea el código de estado 200.

Obtén los controladores de JDBC para PostgreSQL en Cloud SQL

Debido a que Cloud SQL requiere el uso de la biblioteca de fábrica de sockets para controladores JDBC, compila el controlador JDBC del repositorio de fábrica de sockets de Cloud SQL en GitHub. También puedes descargar los controladores JDBC de la página de actualizaciones del repositorio de fábrica de sockets de Cloud SQL.

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 (Add Connection) en la esquina inferior izquierda de la pantalla.

  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 el vínculo 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. Haga clic en Next.

  7. Ingresa el Nombre del controlador, el Nombre de la clase y la Versión.

  8. Haz clic en Finalizar.

  9. En la ventana Agregar conexión (Add connection) que se abrirá, 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_conn_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_conn_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 Administrador de Cloud SQL

  13. Otorga las siguientes funciones de IAM a la cuenta de servicio service-project-number@gcp-sa-datafusion.iam.gserviceaccount.com:

    • Administrador de Cloud SQL
    • Administrador de Cloud Data Fusion
    • Agente de servicios de la API de Cloud Data Fusion
  14. Haz clic en Probar conexión para asegurarte de que la conexión se pueda establecer con la base de datos.

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

¿Qué sigue?