Nesta página, descrevemos como ler dados de um banco de dados PostgreSQL em uma 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.
Abra sua instância no Cloud Data Fusion
No Console do Google Cloud, acesse a página Instâncias do Cloud Data Fusion.
Nesta página, é possível gerenciar suas instâncias.
Clique em Visualizar instância para abrir a instância na IU do Cloud Data Fusion.
Armazenar a senha do PostgreSQL como uma chave segura
Insira sua senha do PostgreSQL como uma chave segura para criptografar na sua instância do Cloud Data Fusion. Para mais informações sobre chaves, consulte Cloud KMS.
Na IU do Cloud Data Fusion, clique em Configuração do administrador do sistema >.
Clique em Fazer chamadas HTTP.
No menu suspenso, escolha PUT.
No campo do caminho, digite
namespaces/default/securekeys/pg_password
.No campo Corpo, digite
{"data":"POSTGRESQL_PASSWORD"}
. SubstituaPOSTGRESQL_PASSWORD
pela sua senha do PostgreSQL.Clique em Enviar.
O campo Resposta notificará você sobre erros.
Conectar-se ao Cloud SQL para PostgreSQL
Na IU do Cloud Data Fusion, clique no menu menu e navegue até a página Administrador.
Clique em Adicionar conexão.
Escolha Banco de dados como o tipo de origem para se conectar.
Em Google Cloud SQL para PostgreSQL, clique em Fazer upload.
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.Clique em Próxima.
Digite o nome do motorista, o nome da turma e a versão nos campos.
Clique em Concluir.
Na janela Adicionar conexão exibida, clique em Google Cloud SQL para PostgreSQL. Seu nome JAR aparecerá em Google Cloud SQL para PostgreSQL.
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.
No campo String de conexão, insira a 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.
Exemplo:
jdbc:postgresql://google/postgres?cloudSqlInstance=dis-demo:us-central1:pgsql-1&socketFactory=com.google.cloud.sql.postgres.SocketFactory&useSSL=false
Ative a API Cloud SQL Admin.
Conceda os seguintes papéis do IAM à conta de serviço service-PROJECT_NUMBER@gcp-sa-datafusion.iam.gserviceaccount.com:
- Administrador do Cloud SQL (
roles/cloudsql.admin
) - Administrador do Cloud Data Fusion (
roles/datafusion.admin
) - Agente de serviço da API Cloud Data Fusion (
roles/datafusion.serviceAgent
)
Para mais informações sobre a concessão de papéis, consulte Gerenciar acesso.
- Administrador do Cloud SQL (
Clique em Testar conexão para garantir que a conexão possa ser estabelecida com o banco de dados.
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).