Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Este artigo mostra como executar FastAPI e Postgres juntos em um ambiente GitHub Codespaces . Codespaces é um ambiente de desenvolvimento alojado na cloud que pode ser utilizado para criar ambientes de desenvolvimento configuráveis e repetíveis.
Podes abrir o repositório de exemplo num ambiente de desenvolvimento integrado (IDE) como Visual Studio Code com a extensão GitHub Codespaces.
Como alternativa, você pode clonar o repositório de exemplo localmente. Quando abres o projeto em Visual Studio Code, podes usar Dev Containers para o executar, usando Dev Containers. Dev Containers exige que o Docker Desktop seja instalado localmente. Se o Docker não estiver instalado, podes executar o projeto usando o GitHub Codespaces como ambiente de desenvolvimento.
Quando usas o GitHub Codespaces, tens um número fixo de horas essenciais livres por mês. Este tutorial requer menos de uma hora principal para ser concluído. Para obter mais informações, consulte Sobre o faturamento do GitHub Codespaces.
Você também pode usar essa configuração como um ponto de partida e modificar o exemplo para executar outros frameworks web Python como Django ou Flask.
Inicie o ambiente de desenvolvimento no Codespaces
Este tutorial apresenta uma das muitas maneiras possíveis de criar e trabalhar com o GitHub Codespaces.
Aceda ao repositório de app de exemplo https://github.com/Azure-Samples/msdocs-fastapi-postgres-codespace.
O repositório de exemplo tem toda a configuração necessária para criar um ambiente com um aplicativo FastAPI usando um banco de dados Postgres. Você pode criar um projeto semelhante seguindo as etapas em Configurando um projeto Python para o GitHub Codespaces.
Selecione Código, guia Codespaces , e + para criar um novo codespace.
Quando o contêiner terminar de ser construído, confirme que vê Codespaces no canto inferior esquerdo do navegador e que vê o repositório de exemplo.
Os arquivos de configuração chave do codespace são devcontainer.json, Dockerfile e docker-compose.yml. Para obter mais informações, consulte Visão geral do GitHub Codespaces.
Sugestão
Você também pode executar o espaço de código no Visual Studio Code. Selecione Codespaces no canto inferior esquerdo do navegador ou (
Ctrl+Shift+P/Ctrl+Command+P) e digite "Codespaces". Em seguida, selecione Abrir no VS Code. Além disso, se você parar o codespace e voltar para o repositório e abri-lo novamente no GitHub Codespaces, você tem a opção de abri-lo no VS Code ou em um navegador.Note
Se o PostgreSQL não arrancar (o contentor falhar), pode dever-se a uma incompatibilidade entre o PostgreSQL 18+ e o volume existente do diretório de dados. Editar
.devcontainer/docker-compose.yamle mudarpostgres:latestparapostgres:17, depois reconstruir o contentor. O PostgreSQL 18 alterou o layout dos diretórios de dados, tornando a montagem de volume/var/lib/postgresql/dataincompatível com versões anteriores.Selecione o arquivo .env.devcontainer e crie uma cópia chamada .env com o mesmo conteúdo.
O ficheiro .env contém variáveis de ambiente que o código utiliza para se ligar à base de dados.
Se uma janela do terminal ainda não estiver aberta, abra uma abrindo a Paleta de Comandos (
Ctrl+Shift+P/Ctrl+Command+P), digitando "Terminal: Criar Novo Terminal" e selecionando-a para criar um novo terminal.Selecione a guia PORTS na janela do terminal para confirmar que o PostgreSQL está sendo executado na porta 5432.
Na janela do terminal, execute o aplicativo FastAPI.
uvicorn main:app --reloadSelecione a notificação Abrir no navegador.
Se não vires ou tiveres perdido a notificação, vai para PORTS e encontra o Endereço Local da porta 8000. Use o URL listado lá.
Adicione /docs no final da URL de pré-visualização para ver a interface do Swagger, que pode usar para testar os métodos da API.
Os métodos API são gerados a partir da interface OpenAPI que FastAPI cria a partir do código.
Na página Swagger, execute o método POST para adicionar um restaurante.
Expanda o método POST .
Selecione Experimentar.
Preencha o corpo da solicitação.
{ "name": "Restaurant 1", "address": "Restaurant 1 address" }Selecione Executar para comprometer a alteração.
Conecte-se ao banco de dados e visualize os dados
Volte para o GitHub Codespace para o projeto, selecione a extensão SQLTools e, em seguida, selecione Banco de dados local para se conectar.
A extensão SQLTools é instalada quando o contentor é criado. Se a extensão SQLTools não aparecer na Barra de Atividade, fecha o espaço de código e volta a abri-lo.
Expanda o nó Base de dados local até encontrar a tabela restaurants, clique com o botão direito do rato e selecione a opção Mostrar Registos da Tabela.
Vês o restaurante que adicionaste.
Limpeza
Para parar de usar o espaço de código, feche o navegador. (Ou feche o VS Code se o tiver aberto dessa forma.)
Se você planeja usar o espaço de código novamente, você pode mantê-lo. Apenas espaços de código em execução incorrem em encargos de CPU. Um codespace interrompido incorre apenas em custos de armazenamento.
Se quiser remover o codespace, vá para https://github.com/codespaces para gerenciar os seus codespaces.