Bem-vindo ao Dia 2 do 12 Dias de DigitalOcean! Ontem, começamos a construir nosso Serviço de Lembrete de Aniversário—um aplicativo simples que envia notificações por SMS para aniversários próximos. 🎉 Configuramos um banco de dados PostgreSQL na DigitalOcean para armazenar os detalhes de contato.
Hoje, vamos nos conectar a esse banco de dados usando Python e preparar nosso projeto para manter credenciais sensíveis seguras.
No final deste post, você terá um script Python que busca dados do seu banco de dados de forma segura e está pronto para escalar quando o hospedarmos na DigitalOcean.
✨ Por Que Esta Etapa?
Configurar o banco de dados foi apenas o começo. Para construir qualquer aplicativo significativo, precisamos de uma maneira de interagir com esses dados programaticamente. O Python facilita a conexão com bancos de dados PostgreSQL e, com a ajuda de uma biblioteca como pg8000, podemos trabalhar com bancos de dados PostgreSQL em apenas algumas linhas de código.
Para manter as coisas seguras, vamos armazenar nossas credenciais de banco de dados em um arquivo .env
e carregá-las em nosso script usando python-dotenv. Isso garante que suas credenciais não estejam codificadas no script, tornando mais seguro compartilhar e implantar seu aplicativo.
🚀 O que você aprenderá
Aqui está o plano para hoje:
- Armazenar credenciais sensíveis em um arquivo
.env
. - Usar
python-dotenv
para carregar essas credenciais em seu script. - Escrever um script Python para conectar-se com segurança ao seu banco de dados PostgreSQL usando
pg8000
- Buscar e exibir dados da tabela
contacts
No final disso, você terá uma base sólida para construir a lógica do aplicativo.
🛠 O que você precisará
Antes de mergulharmos, aqui está o que você precisará:
- O banco de dados que configuramos no Dia 1. TODO: Link para a URL do dia 1
- Python instalado na sua máquina local (recomendamos Python 3.8+).
🧑🍳 Receita para o Dia 2: Conectando ao PostgreSQL com Python
Passo 1: Instale as Bibliotecas Necessárias 📦
Para conectar o Python ao PostgreSQL e manter nossas credenciais seguras, usaremos duas bibliotecas principais:
- pg8000: Uma biblioteca pura de Python que permite conectar e interagir com bancos de dados PostgreSQL.
- python-dotenv: Uma utilidade para carregar credenciais sensíveis (como nomes de usuário e senhas de banco de dados) de um arquivo
.env
, para que você não precise codificá-las diretamente em seu script.
Vamos instalá-las agora. Execute este comando no seu terminal:
Dica Pro: Se você estiver usando um ambiente virtual (sempre uma boa ideia!), certifique-se de ativá-lo antes de executar o comando acima para manter suas dependências organizadas.
Passo 2: Crie um arquivo .env 📂
No diretório do seu projeto, crie um arquivo chamado .env. É aqui que armazenaremos nossas credenciais do banco de dados. Adicione o seguinte:
Substitua os valores de espaço reservado pelas credenciais do Dia 1.
Dica Profissional: Adicione .env
ao seu arquivo .gitignore
para garantir que suas credenciais não sejam acidentalmente enviadas para o controle de versão.
Passo 3: Crie um Script em Python 🐍
Crie um novo arquivo chamado connect_to_db.py
e configure o script para carregar credenciais do .env
usando python-dotenv
e conectar-se ao nosso banco de dados.
Aqui está o código para começar:
Este script faz algumas coisas importantes:
- Carrega credenciais de forma segura do seu arquivo
.env
. - Estabelece uma conexão com seu banco de dados usando
pg8000.connect()
. - Imprime uma mensagem de sucesso ou erro dependendo do resultado.
Passo 4: Testar a Conexão ✅
Agora, vamos garantir que tudo funcione. Execute seu script:
Se tudo estiver configurado corretamente, você deve ver:
Se houver um erro:
- Verifique novamente os valores em seu arquivo .env.
- Certifique-se de que seu endereço IP esteja adicionado às fontes de confiança do banco de dados (veja o Passo 6 do Dia 1).
Passo 5: Buscar Dados do Banco de Dados 🔍
Agora, vamos estender o script para buscar dados. Atualize seu script connect_to_db.py
para incluir o seguinte:
Este script agora:
- Executa uma consulta para buscar todos os registros da tabela de contatos.
- Imprime cada registro no console.
Nota: Se a tabela estiver vazia, não se preocupe! Você ainda pode verificar se o script é executado sem erros. Para testar, você pode rapidamente adicionar um contato de exemplo abrindo seu banco de dados usando psql
(ou sua ferramenta preferida) e executando este comando SQL:
Se você precisar de um lembrete sobre como usar psql ou quiser explorar ferramentas de interface como pgAdmin ou TablePlus, confira as instruções em Dia 1.
🎁 Conclusão
Aqui está o que você conseguiu hoje:
✅ Instalou as bibliotecas Python necessárias.
✅ Conectou-se ao seu banco de dados PostgreSQL da DigitalOcean usando Python.
✅ Buscou dados da tabela contacts
com uma consulta simples.
Próximo passo: Amanhã, começaremos a adicionar lógica para encontrar aniversários próximos e enviar notificações por SMS usando Twilio. É aqui que o aplicativo começa a ganhar vida—fique ligado! 🚀
Source:
https://www.digitalocean.com/community/tutorials/connecting-to-postgresql-database-with-python