Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Den här artikeln visar hur du kör FastAPI och Postgres tillsammans i en GitHub Codespaces-miljö . Codespaces är en molnbaserad utvecklingsmiljö som gör att du kan skapa konfigurerbara och repeterbara utvecklingsmiljöer.
Du kan öppna exempellagringsplatsen i en webbläsare eller i en integrerad utvecklingsmiljö (IDE) som Visual Studio Code med GitHub Codespaces-tillägget.
Du kan också klona exempellagringsplatsen lokalt. När du öppnar projektet i Visual Studio Code kan du använda Dev Containers för att köra det med dev-containrar. Dev Containers kräver att Docker Desktop installeras lokalt. Om Docker inte är installerat kan du köra projektet med GitHub Codespaces som utvecklingsmiljö.
Tänk på att du har ett fast antal lediga kärntimmar per månad när du använder GitHub Codespaces. Den här handledningen kräver mindre än en kärntimme för att slutföras. Mer information finns i Om fakturering för GitHub Codespaces.
Du kan också använda den här konfigurationen som utgångspunkt och ändra exemplet för att köra andra Python-webbramverk som Django eller Flask.
Starta utvecklingsmiljön i Codespaces
Den här handledningen introducerar ett av många möjliga sätt att skapa och arbeta med GitHub Codespaces.
Gå till exempelappens lagringsplats https://github.com/Azure-Samples/msdocs-fastapi-postgres-codespace.
Exempeldatabasen har all konfiguration som krävs för att skapa en miljö med en FastAPI-app med hjälp av en Postgres-databas. Du kan skapa ett liknande projekt genom att följa stegen i Konfigurera ett Python-projekt för GitHub Codespaces.
Välj Kod, fliken Codespaces och + för att skapa ett nytt kodområde.
När containern har skapats bekräftar du att du ser Codespaces i det nedre vänstra hörnet i webbläsaren och ser exempellagringsplatsen.
Konfigurationsfilerna för kodområdets nyckel är devcontainer.json, Dockerfile och docker-compose.yml. Mer information finns i Översikt över GitHub Codespaces.
Tips/Råd
Du kan också köra kodområdet i Visual Studio Code. Välj Codespaces i det nedre vänstra hörnet i webbläsaren eller (
Ctrl+Shift+P/Ctrl+Command+P) och skriv "Codespaces". Välj sedan Öppna i VS Code. Om du stoppar kodområdet och går tillbaka till lagringsplatsen och öppnar det igen i GitHub Codespaces kan du öppna det i VS Code eller en webbläsare.Välj filen .env.devcontainer och skapa en kopia med namnet .env med samma innehåll.
.env innehåller miljövariabler som används i koden för att ansluta till databasen.
Om ett terminalfönster inte redan är öppet öppnar du ett genom att öppna kommandopaletten (
Ctrl+Shift+P/Ctrl+Command+P), skriva "Terminal: Skapa ny terminal" och välja den för att skapa en ny terminal.Välj fliken PORTar i terminalfönstret för att bekräfta att PostgreSQL körs på port 5432.
Kör FastAPI-appen i terminalfönstret.
uvicorn main:app --reloadVälj meddelandet Öppna i webbläsare.
Om du inte ser eller missade meddelandet går du till PORTar och hittar den lokala adressen för port 8000. Använd url:en som anges där.
Lägg till /docs i slutet av förhandsgransknings-URL:en för att se Swagger-användargränssnittet, vilket gör att du kan testa API-metoderna.
API-metoderna genereras från OpenAPI-gränssnittet som FastAPI skapar från koden.
På swagger-sidan kör du POST-metoden för att lägga till en restaurang.
Expandera POST-metoden .
Välj Prova.
Fyll i begärandetexten.
{ "name": "Restaurant 1", "address": "Restaurant 1 address" }Välj Kör för att genomföra ändringen
Anslut till databasen och visa data
Gå tillbaka till GitHub Codespace för projektet, välj SQLTools-tillägget och välj sedan Lokal databas för att ansluta.
SQLTools-tillägget bör installeras när containern skapas. Om SQLTools-tillägget inte visas i aktivitetsfältet stänger du kodområdet och öppnar igen.
Expandera noden Lokal databas tills du hittar tabellen restauranger, högerklicka på Visa Tabellposter.
Du bör se restaurangen du lade till.
Städa upp
Stäng webbläsaren om du vill sluta använda kodområdet. (Eller stäng VS Code om du öppnade den på det sättet.)
Om du planerar att använda kodområdet igen kan du behålla det. Endast användning av codespaces innebär CPU-kostnader. Ett stoppat kodområde medför endast lagringskostnader.
Om du vill ta bort kodområdet går du till https://github.com/codespaces för att hantera dina kodområden.