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
Na Google Cloud consola, aceda à página do Cloud Data Fusion.
Para abrir a instância no Cloud Data Fusion Studio, clique em Instâncias e, de seguida, em Ver instância.
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.
Na IU do Cloud Data Fusion, clique em Administrador do sistema > Configuração.
Clique em Fazer chamadas HTTP.
No menu pendente, escolha PUT.
No campo do caminho, introduza
namespaces/default/securekeys/pg_password
.No campo Corpo, introduza
{"data":"POSTGRESQL_PASSWORD"}
. SubstituaPOSTGRESQL_PASSWORD
pela palavra-passe do PostgreSQL.Clique em Enviar.
O campo Resposta envia-lhe uma notificação sobre eventuais erros.
Estabeleça ligação ao Cloud SQL para PostgreSQL
Na IU do Cloud Data Fusion, clique no menu menu e navegue para a página Wrangler.
Clique em Adicionar associação.
Escolha Base de dados como o tipo de origem para associar.
Em Google Cloud SQL para PostgreSQL, clique em Carregar.
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.Clicar em Seguinte.
Introduza o nome, o nome da classe e a versão do controlador nos campos.
Clique em Concluir.
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.
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.
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.
Por exemplo:
jdbc:postgresql://google/postgres?cloudSqlInstance=dis-demo:us-central1:pgsql-1&socketFactory=com.google.cloud.sql.postgres.SocketFactory&useSSL=false
Ative a API Admin do Cloud SQL.
Clique em Testar associação para garantir que é possível estabelecer a associação com a base de dados.
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).