Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Este artigo mostra como executar o FastAPI e o Postgres juntos em um ambiente de Codespaces do GitHub . Codespaces é um ambiente de desenvolvimento hospedado na nuvem que você pode usar para criar ambientes de desenvolvimento configuráveis e repetíveis.
Você pode abrir o repositório de exemplo em um IDE (ambiente de desenvolvimento integrado), como Visual Studio Code com a extensão GitHub Codespaces.
Como alternativa, você pode clonar o repositório de exemplo localmente. Ao abrir o projeto em Visual Studio Code, você pode usar Contêineres de Desenvolvimento para executá-lo usando Dev Containers. Os contêineres de desenvolvimento exigem que o Docker Desktop seja instalado localmente. Se o Docker não estiver instalado, você poderá executar o projeto usando GitHub Codespaces como o ambiente de desenvolvimento.
Ao usar GitHub Codespaces, você tem um número fixo de horas principais gratuitas por mês. Este tutorial requer menos de uma hora para ser concluído. Para obter mais informações, consulte Sobre a cobrança para codespaces do GitHub.
Você também pode usar essa configuração como ponto de partida e modificar o exemplo para executar outras estruturas web do Python, como Django ou Flask.
Iniciar o ambiente de desenvolvimento em Codespaces
Este tutorial apresenta uma das muitas maneiras possíveis de criar e trabalhar com os Codespaces do GitHub.
Vá para o repositório de exemplo do aplicativo 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 na configuração de um projeto python para codespaces do GitHub.
Selecione Código, guia Codespaces e + crie um novo codespace.
Quando o contêiner terminar de compilar, confirme se você vê codespaces no canto inferior esquerdo do navegador e veja o repositório de exemplo.
Os arquivos de configuração de chave do codespace são devcontainer.json, Dockerfile e docker-compose.yml. Para obter mais informações, consulte a visão geral dos Codespaces do GitHub.
Dica
Você também pode executar o codespace 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 nos Codespaces do GitHub, terá a opção de abri-lo no VS Code ou em um navegador.Note
Se o PostgreSQL falhar ao iniciar (falhas de contêiner), isso pode ser devido a uma incompatibilidade entre o PostgreSQL 18+ e o volume de diretório de dados existente. Edite
.devcontainer/docker-compose.yamle alterepostgres:latestparapostgres:17, em seguida, recompile o contêiner. O PostgreSQL 18 alterou o layout do diretório de dados, tornando o ponto de montagem do volume em/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 arquivo .env contém variáveis de ambiente que o código usa para se conectar ao banco de dados.
Se uma janela de 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 PORTAS na janela do terminal para confirmar se o PostgreSQL está em execução na porta 5432.
Na janela do terminal, execute o aplicativo FastAPI.
uvicorn main:app --reloadSelecione a notificação Abrir no Navegador.
Se você não vir ou perdeu a notificação, vá até PORTAS e localize o Endereço Local para a porta 8000. Use a URL listada lá.
Adicione /docs no final da URL de visualização para ver a interface do usuário do Swagger, que você pode usar para testar os métodos de API.
Os métodos de API são gerados a partir da interface OpenAPI que o FastAPI cria com base no 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 confirmar a alteração.
Conectar-se ao banco de dados e exibir os dados
Volte para o Codespace do GitHub para o projeto, selecione a extensão SQLTools e selecione Banco de Dados Local para se conectar.
A extensão SQLTools é instalada quando o contêiner é criado. Se a extensão SQLTools não aparecer na Barra de Atividades, feche o codespace e reabra-o.
Expanda o nó Banco de dados local até encontrar a tabela restaurantes e clique com o botão direito em Mostrar Registros de Tabela.
Você vê o restaurante que você adicionou.
Limpeza
Para parar de usar o codespace, feche o navegador. (Ou feche o VS Code se você o abriu dessa forma.)
Se você planeja usar o codespace novamente, poderá mantê-lo. Somente a execução de codespaces incorre em encargos de CPU. Um codespace interrompido incorre apenas em custos de armazenamento.
Se você quiser remover o codespace, vá para https://github.com/codespaces para gerenciar seus codespaces.