Leia a partir de uma base de dados PostgreSQL

Esta página descreve como ler dados de uma base de dados PostgreSQL numa instância do Cloud Data Fusion.

Antes de começar

  • Crie uma instância do Cloud Data Fusion.
  • Ative a sua base de dados PostgreSQL para aceitar ligações do Cloud Data Fusion. Para o fazer de forma segura, recomendamos que use uma instância privada do Cloud Data Fusion.

Funções necessárias

Para receber as autorizações de que precisa para se ligar a uma base de dados PostgreSQL, peça ao seu administrador que lhe conceda as seguintes funções do IAM:

  • Trabalhador 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 Auth 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 atribuição de funções, consulte o artigo Faça a gestão do acesso a projetos, pastas e organizações.

Também pode conseguir as autorizações necessárias através de funções personalizadas ou outras funções predefinidas.

Abra a instância no Cloud Data Fusion

  1. Na Google Cloud consola, aceda à página do Cloud Data Fusion.

  2. Para abrir a instância no Cloud Data Fusion Studio, clique em Instâncias e, de seguida, em Ver instância.

    Aceda a Instâncias

Armazene a sua palavra-passe do PostgreSQL como uma chave segura

Introduza a sua palavra-passe do PostgreSQL como uma chave segura para encriptar na sua instância do Cloud Data Fusion. Para mais informações sobre chaves, consulte o Cloud KMS.

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

  2. Clique em Fazer chamadas HTTP.

    Configuração.

  3. No menu pendente, escolha PUT.

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

  5. No campo Corpo, introduza {"data":"POSTGRESQL_PASSWORD"}. Substitua POSTGRESQL_PASSWORD pela palavra-passe do PostgreSQL.

  6. Clique em Enviar.

    Palavra-passe.

O campo Resposta envia-lhe uma notificação sobre eventuais erros.

Estabeleça ligação ao Cloud SQL para PostgreSQL

  1. Na IU do Cloud Data Fusion, clique no menu e navegue para a página Wrangler.

  2. Clique em Adicionar associação.

  3. Escolha Base de dados como o tipo de origem para associar.

    Adicionar ligação.

  4. Em Google Cloud SQL para PostgreSQL, clique em Carregar.

    Escolha a origem.

  5. Carregue um ficheiro JAR que contenha o seu controlador PostgreSQL. O ficheiro JAR tem de seguir o formato NAME-VERSION.jar. Se o ficheiro JAR não seguir este formato, mude-lhe o nome antes de o carregar.

  6. Clicar em Seguinte.

  7. Introduza o nome, o nome da classe e a versão do controlador nos campos.

  8. Clique em Concluir.

  9. Na janela Adicionar ligação apresentada, clique em Google Cloud SQL para PostgreSQL. O nome do JAR deve aparecer em Google Cloud SQL para PostgreSQL.

    JAR carregado.

  10. Preencha os campos de associação obrigatórios. No campo Palavra-passe, selecione a chave segura que armazenou anteriormente. Isto garante que a sua palavra-passe é obtida através do Cloud KMS.

    Escolha a palavra-passe.

  11. No campo String de ligação, introduza a string de ligação da seguinte forma:

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

    Substitua o seguinte:

    • DATABASE_NAME: o nome da base de dados do Cloud SQL, conforme indicado no separador Bases de dados da página de detalhes da instância.
    • INSTANCE_CONNECTION_NAME: o nome de ligação da instância do Cloud SQL, conforme apresentado no separador Vista geral da página de detalhes da instância.
    Nome da ligação da instância.

    Por 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 Admin do Cloud SQL.

  13. Clique em Testar associação para garantir que é possível estabelecer a associação com a base de dados.

  14. Clique em Adicionar associação.

Depois de a base de dados PostgreSQL estar associada, pode aplicar transformações aos seus dados (no Wrangler), criar um pipeline e escrever a saída num destino (no Studio).