Ler de um banco de dados PostgreSQL

Esta página descreve como ler dados de um banco de dados PostgreSQL em um instância do Cloud Data Fusion.

Antes de começar

  • Crie uma instância do Cloud Data Fusion.
  • Ative o banco de dados PostgreSQL para aceitar conexões do Cloud Data Fusion. Para fazer isso com segurança, recomendamos que você use uma instância particular do Cloud Data Fusion.

Funções exigidas

Para conseguir as permissões necessárias para se conectar a um banco de dados PostgreSQL, peça ao administrador para conceder a você os seguintes papéis do IAM:

  • Worker do Dataproc (roles/dataproc.worker) na conta de serviço do Dataproc no projeto que contém o cluster
  • Executor do Cloud Data Fusion (roles/datafusion.runner) na conta de serviço do Dataproc no projeto que contém o cluster
  • Para usar o Cloud SQL sem o proxy de autenticação do Cloud SQL: Cliente do Cloud SQL (roles/cloudsql.client) no projeto que contém a instância do Cloud SQL

Para mais informações sobre a concessão de papéis, consulte Gerenciar o acesso a projetos, pastas e organizações.

Também é possível conseguir as permissões necessárias por meio de papéis personalizados ou de outros papéis predefinidos.

Abrir a instância no Cloud Data Fusion

  1. No console do Google Cloud, acesse a página do Cloud Data Fusion.

  2. Para abrir a instância no Studio do Cloud Data Fusion, Clique em Instâncias e depois em Visualizar instância.

    Acesse "Instâncias"

Armazenar a senha do PostgreSQL como uma chave segura

Digite a senha do PostgreSQL como uma chave segura para criptografar no instância do Cloud Data Fusion. Para mais informações sobre chaves, consulte Cloud KMS:

  1. Na interface do Cloud Data Fusion, clique em Administrador do sistema > Configuração.

  2. Clique em Fazer chamadas HTTP.

    Configuration do HBase.

  3. No menu suspenso, escolha PUT.

  4. No campo do caminho, digite namespaces/default/securekeys/pg_password.

  5. No campo Corpo, digite {"data":"POSTGRESQL_PASSWORD"}. Substitua POSTGRESQL_PASSWORD pelo PostgreSQL senha.

  6. Clique em Enviar.

    Senha.

O campo Resposta notifica você sobre erros.

Conectar-se ao Cloud SQL para PostgreSQL

  1. Na IU do Cloud Data Fusion, clique no menu e navegue até a página Administrador.

  2. Clique em Adicionar conexão.

  3. Escolha Banco de dados como o tipo de origem a ser conectado.

    Adicionar conexão.

  4. Em Google Cloud SQL para PostgreSQL, clique em Fazer upload.

    Escolher a origem.

  5. Faça upload de um arquivo JAR que contenha o driver do PostgreSQL. Seu arquivo JAR precisa seguir o formato NAME-VERSION.jar. Se o arquivo JAR não seguir esse formato, renomeie-o antes de fazer o upload.

  6. Clique em Próxima.

  7. Digite o nome do motorista, da classe e da versão nos campos.

  8. Clique em Concluir.

  9. Na janela Adicionar conexão que é aberta, clique em Google Cloud SQL para PostgreSQL (em inglês). Seu nome JAR aparecerá em Google Cloud SQL para PostgreSQL.

    Upload do JAR realizado.

  10. Preencha os campos de conexão obrigatórios. No campo Senha, selecione a chave segura armazenada anteriormente. Isso garante que sua senha seja recuperada usando o Cloud KMS.

    Escolher a senha.

  11. No campo String de conexão, insira sua string de conexão como:

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

    Substitua:

    • DATABASE_NAME: o nome do banco de dados do Cloud SQL listado na guia Bancos de dados da página de detalhes da instância.
    • INSTANCE_CONNECTION_NAME: o nome da conexão da instância do Cloud SQL, conforme exibido na guia Visão geral da página de detalhes da instância.
    Nome da conexão da instância.

    Exemplo:

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

  12. Ative a API Cloud SQL Admin.

  13. Clique em Testar conexão para garantir que a conexão possa ser estabelecida com o banco de dados.

  14. Clique em Adicionar conexão.

Depois que o banco de dados do PostgreSQL estiver conectado, será possível aplicar transformações aos dados (no Wrangler), criar um pipeline e gravar a saída em um coletor (no Studio).