GitHub Codespaces fejlesztői környezet létrehozása a FastAPI és a Postgres használatával

Ez a cikk bemutatja, hogyan futtathatja együtt a FastAPI-t és a Postgres-t Egy GitHub Codespaces-környezetben . A kódterek egy felhőalapú fejlesztési környezet, amellyel konfigurálható és megismételhető fejlesztési környezeteket hozhat létre.

A mintatárhelyet megnyithatja egy integrált fejlesztőkörnyezetben (IDE), például a Visual Studio Code-ban a GitHub Codespaces bővítménnyel.

Másik lehetőségként a mintaadattárat helyileg is klónozhatja. Amikor megnyitja a projektet a Visual Studio Code-ban, a Dev Containers használatával futtathatja. A Dev Containers használatához a Docker Desktop helyi telepítése szükséges. Ha a Docker nincs telepítve, a projektet GitHub Codespaces használatával futtathatja fejlesztési környezetként.

Ha GitHub Codespace-eket használ, havonta fix számú alapórát használhat. Az oktatóanyag elvégzéséhez kevesebb mint egy óra szükséges. További információért lásd: A GitHub Codespaces számlázása.

Ezt a beállítást kiindulási pontként is használhatja, és módosíthatja a mintát más Python-webes keretrendszerek, például a Django vagy a Flask futtatásához.

A fejlesztői környezet indítása a Codespacesben

Ez az oktatóanyag bemutatja a GitHub Codespaces létrehozásának és használatának számos lehetséges módját.

  1. Nyissa meg a mintaalkalmazás-adattárat https://github.com/Azure-Samples/msdocs-fastapi-postgres-codespace.

    A mintaadattár rendelkezik a Postgres-adatbázist használó FastAPI-alkalmazással rendelkező környezet létrehozásához szükséges összes konfigurációval. Hasonló projektet a Python-projekt GitHub Codespaceshez való beállításának lépéseit követve hozhat létre.

  2. Válassza a Kód, Kódterek lapot, és + hozzon létre egy új kódteret.

    Képernyőkép arról, hogyan hozhat létre kódteret a GitHub-adattárból.

  3. Amikor a tároló befejezi az építést, győződjön meg arról, hogy a böngésző bal alsó sarkában látja a kódtereket , és megtekintheti a mintaadattárat.

    A kódtérkulcs konfigurációs fájljai devcontainer.json, Dockerfile és docker-compose.yml. További információ: GitHub Codespaces – áttekintés.

    Jótanács

    A kódteret a Visual Studio Code-ban is futtathatja. Válassza ki a böngésző bal alsó sarkában található Kódtereket, vagy (Ctrl + Shift + P / Ctrl + Command + P) és írja be a "Codespaces" kifejezést. Ezután válassza a Megnyitás a VS Code-ban lehetőséget. Ha leállítja a kódteret, és visszatér az adattárhoz, és újra megnyitja a GitHub Codespacesben, lehetősége van arra, hogy a VS Code-ban vagy egy böngészőben nyissa meg.

    Note

    Ha a PostgreSQL nem indul el (a tároló összeomlik), ennek oka a PostgreSQL 18+ és a meglévő adatkönyvtár-kötet közötti inkompatibilitás lehet. Szerkessze .devcontainer/docker-compose.yaml, és módosítsa postgres:latest erre: postgres:17, majd építse újra a tárolót. A PostgreSQL 18 megváltoztatta az adatkönyvtár elrendezését, ezért a /var/lib/postgresql/data helyen lévő kötetcsatolás nem kompatibilis a korábbi verziókkal.

  4. Válassza ki az .env.devcontainer fájlt, és hozzon létre egy .env nevű másolatot ugyanazzal a tartalommal.

    Az .env fájl olyan környezeti változókat tartalmaz, amelyeket a kód az adatbázishoz való csatlakozáshoz használ.

  5. Ha egy terminálablak még nincs megnyitva, nyisson meg egyet a Parancssáv (Ctrl + Shift + P / Ctrl + Command + P) megnyitásával, írja be a "Terminál: Új terminál létrehozása" szöveget, és válassza ki az új terminál létrehozására.

  6. A terminálablak PORTok lapján ellenőrizze, hogy a PostgreSQL az 5432-es porton fut-e.

  7. A terminálablakban futtassa a FastAPI alkalmazást.

    uvicorn main:app --reload
    
  8. Válassza ki a Megnyitás böngészőben lehetőséget.

    Ha nem látja vagy nem hagyta ki az értesítést, keresse meg a PORTok lapot, és keresse meg a 8000-s port helyi címét . Használja az ott felsorolt URL-címet.

  9. Az előnézeti URL-cím végén adja hozzá a /docs elemet a Swagger felhasználói felületének megtekintéséhez, amellyel tesztelheti az API-metódusokat.

    Az API-metódusok a FastAPI által a kódból létrehozott OpenAPI-felületen jönnek létre.

    Képernyőkép a FastAPI Swagger felhasználói felületéről.

  10. A Swagger oldalon futtassa a POST metódust egy étterem hozzáadásához.

    1. Bontsa ki a POST metódust.

    2. Válassza Próbálja kilehetőséget.

    3. Töltse ki a kérelem törzsét.

      {
        "name": "Restaurant 1",
        "address": "Restaurant 1 address"
      }
      
    4. Válassza a Végrehajtás lehetőséget a módosítás véglegesítéséhez.

Csatlakozás az adatbázishoz és az adatok megtekintése

  1. Térjen vissza a projekt GitHub Codespace-jére, válassza ki az SQLTools bővítményt, majd válassza a helyi adatbázist a csatlakozáshoz.

    Az SQLTools bővítmény a tároló létrehozásakor települ. Ha az SQLTools bővítmény nem jelenik meg a tevékenységsávban, zárja be a kódteret, és nyissa meg újra.

  2. Bontsa ki a Helyi adatbázis csomópontot, amíg meg nem találja az éttermek táblát, kattintson a jobb gombbal, és válassza a Táblarekordok megjelenítése parancsot.

    Láthatja a hozzáadott éttermet.

    Képernyőkép arról, hogyan használható az SQLTools bővítmény a Visual Studio Code a Postgres helyi adatbázisához való csatlakozáshoz és a táblarekordok megjelenítéséhez.

Takarítás

A kódtér használatának leállításához zárja be a böngészőt. (Vagy zárja be a VS Code-ot, ha így nyitotta meg.)

Ha újra használni szeretné a kódteret, megtarthatja azt. Csak a futó kódterek cpu-díjakat vonnak maga után. A leállított kódtér csak tárolási költségekkel jár.

Ha el szeretné távolítani a kódteret, lépjen a https://github.com/codespaces elemre a kódterek kezeléséhez.

Következő lépések