Partilhar via


Crie um ambiente de desenvolvimento do GitHub Codespaces com FastAPI e Postgres

Este artigo mostra como executar FastAPI e Postgres juntos em um ambiente GitHub Codespaces . Codespaces é um ambiente de desenvolvimento hospedado na nuvem que permite criar ambientes de desenvolvimento configuráveis e repetíveis.

Você pode abrir o repositório de exemplo em um navegador ou em um ambiente de desenvolvimento integrado (IDE) como o Visual Studio Code com a extensão GitHub Codespaces.

Como alternativa, você pode clonar o repositório de exemplo localmente. Quando você abre o projeto no Visual Studio Code, você pode usar Dev Containers para executá-lo usando Dev Containers. O Dev Containers requer que o Docker Desktop seja instalado localmente. Se o Docker não estiver instalado, você poderá executar o projeto usando o GitHub Codespaces como ambiente de desenvolvimento.

Ao usar o GitHub Codespaces, lembre-se de que você tem um número fixo de horas principais gratuitas 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.

  1. 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.

  2. Selecione Código, guia Codespaces , e + para criar um novo codespace.

    Captura de tela mostrando como criar um espaço de código a partir do repositório GitHub.

  3. 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.

  4. Selecione o arquivo .env.devcontainer e crie uma cópia chamada .env com o mesmo conteúdo.

    O .env contém variáveis de ambiente que são usadas no código para se conectar ao banco de dados.

  5. 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.

  6. Selecione a guia PORTS na janela do terminal para confirmar que o PostgreSQL está sendo executado na porta 5432.

  7. Na janela do terminal, execute o aplicativo FastAPI.

    uvicorn main:app --reload
    
  8. Selecione 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á.

  9. Adicione /docs no final da URL de visualização para ver a interface do usuário do Swagger, que permite 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.

    Captura de tela mostrando a interface do usuário do FastAPI Swagger.

  10. Na página Swagger, execute o método POST para adicionar um restaurante.

    1. Expanda o método POST .

    2. Selecione Experimentar.

    3. Preencha o corpo da solicitação.

      {
        "name": "Restaurant 1",
        "address": "Restaurant 1 address"
      }
      
    4. Selecione Executar para confirmar a alteração

Conecte-se ao banco de dados e visualize os dados

  1. 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 deve ser instalada quando o contêiner é criado. Se a extensão SQLTools não aparecer na barra de atividades, feche o espaço de código e reabra.

  2. Expanda o nó Base de Dados Local até encontrar a tabela restaurantes, clique com o botão direito do rato em Mostrar Registos da Tabela.

    Você deve ver o restaurante que você adicionou.

    Captura de tela mostrando como usar a extensão SQLTools no Visual Studio Code para se conectar ao banco de dados local do Postgres e mostrar registos da tabela.

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.

Próximos passos