Introdução
O FastAPI rapidamente ganhou popularidade como um framework web de alto desempenho e fácil de usar para construir APIs com Python. Quando associado a um banco de dados relacional, o FastAPI pode ser usado para criar aplicações poderosas e escaláveis. Este guia vai guiar você pelo processo de configuração de uma aplicação FastAPI com um banco de dados relacional em um computador Ubuntu 24.04. Vamos abordar tudo, desde a instalação das ferramentas necessárias até a configuração do banco de dados e a criação de pontos finais de API.
Usar FastAPI com o Banco de Dados PostgreSQL
- Configuração do Ambiente Python
- Criar e Ativar Ambiente Virtual
- Instalar e Configurar o PostgreSQL
- Criar Aplicação FastAPI
- Instalar Bibliotecas Requeridas
- Executar Aplicação Python
- Testar Endpoints da Aplicação FastAPI
Pré-requisitos
Antes de seguir as etapas deste tutorial, você precisa:
-
Um servidor rodando Ubuntu juntamente com um usuário não-root com privilégios de sudo e uma firewall ativa. Para orientações sobre como configurar isso, por favor escolha sua distribuição da lista e siga com nossa guia de configuração inicial do servidor. Certifique-se de trabalhar com uma versão suportada do Ubuntu.
-
Familiaridade com a linha de comando do Linux. Para uma introdução ou atualização sobre a linha de comando, você pode visitar esta guia sobre primer do Linux command line.
-
Execute
sudo apt-get update
no terminal do Ubuntu para certificar-se que o seu sistema tem as versões mais recentes e atualizações de segurança para o software disponível dos repositórios configurados no seu sistema.
Estas instruções são válidas para as versões mais recentes do Ubuntu: Ubuntu 24.04, Ubuntu 22.04 e Ubuntu 20.04. Se você estiver usando a versão de Ubuntu <= 18.04, recomendamos que você atualize para uma versão mais recente, já que o Ubuntu já não oferece suporte para essas versões. Esta coleção de guias o ajudará a atualizar a versão do Ubuntu.
Passo 1 – Configuração do Ambiente Python
O Ubuntu 24.04 vem com Python 3 por padrão. Abra o terminal e execute o seguinte comando para verificar a instalação do Python 3:
Se o Python 3 já estiver instalado no seu computador, este comando retornará a versão atual da instalação do Python 3. Caso contrário, você pode executar o seguinte comando e obter a instalação do Python 3:
A seguir, você precisará instalar os gerenciadores de pacotes de instalação pip
e dev
no seu sistema. Execute o seguinte comando no terminal:
Neste tutorial, vamos usar o PostgreSQL como nossa base de dados relacional. Para interagir com a base de dados PostgreSQL, você precisa instalar o libpq-dev
usando o comando a seguir:
Passo 2 – Criar e Ativar Ambiente Virtual
Se você estiver usando a versão do Ubuntu < 24.04, você não precisa criar um ambiente virtual. Você pode pular para o próximo passo.
O próximo passo é criar um ambiente virtual dentro da instalação do Ubuntu para isolar os pacotes Python do seu ambiente de sistema. Para fazer isso, vá para o diretório de trabalho e execute o seguinte conjunto de comandos:
Este comando criará um novo ambiente virtual em um diretório chamado fastapi-env
. Ele terá seu próprio conjunto de pacotes Python dedicados, isolados de outros projetos.
Para garantir que os pacotes que você instala a partir de agora sejam instalados neste ambiente isolado, você precisa ativá-lo executando:
Após a execução, você notará que o prompt do terminal está prefixado com o nome do ambiente virtual, como este:
Output(fastapi-env) ubuntu@user:
Passo 3 – Instalar e Configurar o PostgreSQL
A próxima etapa é instalar o PostgreSQL (ou sua escolha de banco de dados relacional).
Agora, é hora de iniciar e habilitar o serviço do PostgreSQL dentro do seu ambiente virtual.
Você pode verificar o status do serviço do PostgreSQL executando sudo systemctl status postgresql
. Assim que o serviço for habilitado, ele é iniciado automaticamente na inicialização do sistema.
Para instalar e usar o PostgreSQL com FastAPI, você precisa instalar algumas coisas:
asyncpg
: Este é um driver assíncrono do PostgreSQL que permite que FastAPI interaja com um banco de dados PostgreSQL.SQLAlchemy
: Este é uma ferramenta ORM que o ajuda a gerenciar esquemas de banco de dados e consultas em vez de escrever SQL nativo.databases
: Esta é uma biblioteca de banco de dados para operações assíncronas necessárias porSQLAlchemy
para funcionar assíncronamente com FastAPI.
Para instalá-los, execute o seguinte comando consolidado:
A próxima etapa é criar um banco de dados Postgres e um usuário com os privilégios necessários.
Passo 4 – Criar Aplicação Python de exemplo
Você precisa de uma aplicação Python executável que acesse sua base de dados através de FastAPI. Se você não tiver um aplicativo Python em execução, você pode criar um rapidamente seguindo essas etapas:
Crie um novo arquivo Python chamado postgres_db.py
no diretório do projeto.
No editor de texto, você escreverá o código para criar a conexão com a base de dados e criar uma tabela dentro dela. Neste exemplo, criamos uma conexão com o banco de dados PostgreSQL usando o pacote databases
e definimos a estrutura de uma tabela books
usando SQLAlchemy
.
Salve e feche o arquivo.
A seguir, crie um main.py
no mesmo diretório.
Escreva o log principal de sua aplicação nesse arquivo:
Este código usa FastAPI para gravar novos itens de livro na base de dados PostgreSQL e buscar a coleção de livros dela.
Passo 5 – Instalar as Bibliotecas Necessárias
Em sua aplicação Python, você está referenciando várias bibliotecas e pacotes. Antes de executar o aplicativo, certifique-se de instalar as bibliotecas necessárias.
Passo 6 – Executar Aplicação Python
Agora, é hora de executar a aplicação que você criou.
uvicorn
é um Servidor de Gateway de Interface Assíncrona (ASGI) que é usado para servir aplicações FastAPI. Usar uvicorn
é a maneira preferida de executar uma aplicação FastAPI, já que FastAPI é um framework web assíncrono em si.
Se o comando acima for executado sem encontrar nenhum erro, você verá um output semelhante ao seguinte:
OutputINFO: Will watch for changes in these directories: ['/path/to/your/project']
INFO: Uvicorn running on http://127.0.0.1:8000 (Press CTRL+C to quit)
INFO: Started reloader process [XXXX] using StatReload
INFO: Started server process [YYYY]
INFO: Waiting for application startup.
INFO: Application startup complete.
No navegador web, navegue até http://127.0.0.1:8000
para ver o output da consulta.
Passo 7 [OPCIONAL] – Testar as Pontas de Aplicação
Você pode testar as pontas de aplicação definidas em seu main.py
(isto é, POST
e GET
) enviando pedidos HTTP para o servidor rodando em http://127.0.0.1:8000
.
Similarmente, você pode fazer uma chamada GET
para o mesmo servidor para recuperar a lista de livros presentes em seu banco de dados Postgres.
Conclusão
Neste tutorial, você passou pelo processo de configuração de uma simples aplicação FastAPI que interage com um banco de dados PostgreSQL. Estes passos são também benéficos para aplicações AI, especialmente quando você precisa construir uma API web para interagir com seus modelos AI ou gerenciar dados relacionados a seus processos AI. Com esta estrutura em place, você agora pode construir e expandir seus projetos FastAPI.
Fique ligado para mais artigos sobre como trabalhar com FastAPI.
Source:
https://www.digitalocean.com/community/tutorials/use-fastapi-with-relationaldb-ubuntu