Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
V tomto článku se dozvíte, jak spustit FastAPI a Postgres společně v prostředí GitHub Codespaces . Codespaces je vývojové prostředí hostované v cloudu, které můžete použít k vytváření konfigurovatelných a opakovatelných vývojových prostředí.
Ukázkové úložiště můžete otevřít v integrovaném vývojovém prostředí (IDE), jako je Visual Studio Code s rozšířením GitHub Codespaces.
Případně můžete ukázkové úložiště naklonovat místně. Když otevřete projekt v aplikaci Visual Studio Code, můžete ke spuštění projektu použít Dev Containers. Dev Containers vyžaduje, aby se Docker Desktop nainstaloval místně. Pokud docker není nainstalovaný, můžete projekt spustit pomocí GitHub Codespaces jako vývojového prostředí.
Když používáte GitHub Codespaces, máte pevný počet hodin jádra zdarma za měsíc. Tento kurz k dokončení vyžaduje méně než jednu jádrovou hodinu. Další informace najdete v tématu Informace o fakturaci pro GitHub Codespaces.
Toto nastavení můžete použít také jako výchozí bod a upravit ukázku tak, aby spouštěla další webové architektury Pythonu, jako je Django nebo Flask.
Spuštění vývojového prostředí v Codespaces
Tento kurz představuje jeden z mnoha možných způsobů vytváření a práce s Codespaces GitHubu.
Přejděte do ukázkového úložiště https://github.com/Azure-Samples/msdocs-fastapi-postgres-codespaceaplikace.
Ukázkové úložiště má veškerou konfiguraci potřebnou k vytvoření prostředí s aplikací FastAPI pomocí databáze Postgres. Podobný projekt můžete vytvořit podle kroků v části Nastavení projektu Pythonu pro GitHub Codespaces.
Vyberte kód, kartu Codespaces a + vytvořte nový prostor kódu.
Po dokončení sestavování kontejneru ověřte, že se v levém dolním rohu prohlížeče zobrazí Codespaces a uvidíte ukázkové úložiště.
Konfigurační soubory klíče codespace jsou devcontainer.json, Dockerfile a docker-compose.yml. Další informace viz GitHub Codespaces – přehled.
Návod
V editoru Visual Studio Code můžete také spustit codespace. Vyberte Codespaces v levém dolním rohu prohlížeče nebo (
Ctrl+Shift+P/Ctrl+Command+P) a zadejte Codespaces. Pak vyberte Otevřít v editoru VS Code. Pokud také zastavíte codespace a vrátíte se do úložiště a znovu ho otevřete v GitHub Codespaces, máte možnost ho otevřít ve VS Code nebo prohlížeči.Note
Pokud se PostgreSQL nepodaří spustit (dojde k chybovému ukončení kontejneru), může to být způsobeno nekompatibilitou mezi PostgreSQL 18 nebo novějším a existujícím svazkem datového adresáře. Upravte
.devcontainer/docker-compose.yamla změňtepostgres:latestnapostgres:17a pak znovu sestavte kontejner. PostgreSQL 18 změnil strukturu datového adresáře, čímž se připojení svazku v bodě/var/lib/postgresql/datastalo nekompatibilním s předchozími verzemi.Vyberte soubor .env.devcontainer a vytvořte kopii s názvem .env se stejným obsahem.
Soubor .env obsahuje proměnné prostředí, které kód používá pro připojení k databázi.
Pokud okno terminálu ještě není otevřené, otevřete ho tak, že otevřete paletu příkazů (
Ctrl+Shift+P/Ctrl+Command+P), zadáte "Terminal: Create New Terminal" (Terminál: Create New Terminal) a vyberete ho, aby se vytvořil nový terminál.V okně terminálu vyberte kartu PORTY a ověřte, že postgreSQL běží na portu 5432.
V okně terminálu spusťte aplikaci FastAPI.
uvicorn main:app --reloadVyberte oznámení Otevřít v prohlížeči.
Pokud oznámení nevidíte nebo nezmeškali, přejděte na PORTY a vyhledejte místní adresu portu 8000. Použijte tam uvedenou adresu URL.
Na konec adresy URL verze Preview přidejte /docs , abyste viděli uživatelské rozhraní Swagger, které můžete použít k otestování metod rozhraní API.
Metody rozhraní API se generují z rozhraní OpenAPI, které FastAPI vytvoří z kódu.
Na stránce Swagger spusťte metodu POST a přidejte restauraci.
Rozbalte metodu POST .
Vyberte Vyzkoušet.
Vyplňte text požadavku.
{ "name": "Restaurant 1", "address": "Restaurant 1 address" }Vyberte Provést a potvrďte změnu.
Připojení k databázi a zobrazení dat
Vraťte se do GitHub Codespace projektu, vyberte rozšíření SQLTools a pak vyberte Místní databáze , ke které se chcete připojit.
Rozšíření SQLTools se nainstaluje při vytvoření kontejneru. Pokud se rozšíření SQLTools nezobrazí na panelu aktivit, zavřete prostor kódu a znovu ho otevřete.
Rozbalte uzel místní databáze , dokud nenajdete tabulku restaurací , klikněte pravým tlačítkem myši a vyberte Zobrazit záznamy tabulky.
Uvidíte restauraci, kterou jste přidali.
Vyčištění
Pokud chcete funkci codespace přestat používat, zavřete prohlížeč. (Pokud jste ho otevřeli tímto způsobem, zavřete VS Code.)
Pokud máte v plánu znovu používat codespace, můžete ho zachovat. Poplatky za procesor jsou účtovány pouze pro aktivní kódovací prostory. Zastavený prostor kódu způsobuje pouze náklady na úložiště.
Pokud chcete odebrat prostor kódu, přejděte ke https://github.com/codespaces správě prostorů kódu.
Další kroky
- Vývoj webové aplikace v Pythonu
- Vývoj aplikace typu kontejner
- Naučte se používat knihovny Azure pro Python