Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
W tym artykule pokazano, jak uruchamiać FastAPI i Postgres razem w środowisku GitHub Codespaces. Codespaces to hostowane w chmurze środowisko programistyczne, którego można użyć do tworzenia konfigurowalnych i powtarzalnych środowisk programistycznych.
Przykładowe repozytorium można otworzyć w zintegrowanym środowisku projektowym (IDE), na przykład Visual Studio Code z rozszerzeniem GitHub Codespaces.
Alternatywnie możesz sklonować przykładowe repozytorium lokalnie. Po otwarciu projektu w programie Visual Studio Code możesz użyć rozszerzenia Dev Containers, aby go uruchomić. Kontenery deweloperskie wymagają, aby program Docker Desktop był zainstalowany lokalnie. Jeśli platforma Docker nie jest zainstalowana, możesz uruchomić projekt przy użyciu GitHub Codespaces jako środowiska programistycznego.
Korzystając z GitHub Codespaces, masz co miesiąc określoną liczbę bezpłatnych rdzeniogodzin. Ten samouczek wymaga mniej niż jednej godziny obliczeniowej. Aby uzyskać więcej informacji, zobacz About billing for GitHub Codespaces (Informacje o rozliczeniach dla usługi GitHub Codespaces).
Możesz również użyć tej konfiguracji jako punktu początkowego i zmodyfikować przykład, aby uruchamiać inne struktury internetowe języka Python, takie jak Django lub Flask.
Uruchamianie środowiska deweloperskiego w usłudze Codespaces
W tym samouczku przedstawiono jeden z wielu możliwych sposobów tworzenia i pracy z usługą GitHub Codespaces.
Przejdź do repozytorium aplikacji przykładowej https://github.com/Azure-Samples/msdocs-fastapi-postgres-codespace.
Przykładowe repozytorium zawiera całą konfigurację wymaganą do utworzenia środowiska z aplikacją FastAPI przy użyciu bazy danych Postgres. Podobny projekt można utworzyć, wykonując kroki opisane w temacie Konfigurowanie projektu w języku Python dla usługi GitHub Codespaces.
Wybierz Code, kartę Codespaces i + utwórz nową przestrzeń kodową.
Po zakończeniu kompilowania kontenera upewnij się, że w lewym dolnym rogu przeglądarki zobaczysz pozycję Codespaces i zobacz przykładowe repozytorium.
Pliki konfiguracji klucza usługi Codespace są devcontainer.json, Dockerfile i docker-compose.yml. Aby uzyskać więcej informacji, zobacz GitHub Codespaces overview (Omówienie usługi GitHub Codespaces).
Wskazówka
Możesz również uruchomić środowisko programistyczne w programie Visual Studio Code. Wybierz pozycję Codespaces w lewym dolnym rogu przeglądarki lub (
Ctrl+Shift+P/Ctrl+Command+P) i wpisz "Codespaces". Następnie wybierz pozycję Otwórz w programie VS Code. Ponadto jeśli zatrzymasz przestrzeń kodu i wrócisz do repozytorium i otworzysz je ponownie w usłudze GitHub Codespaces, możesz otworzyć ją w programie VS Code lub przeglądarce.Note
Jeśli uruchomienie bazy danych PostgreSQL nie powiedzie się (awaria kontenera), może to być spowodowane niezgodnością między programem PostgreSQL 18 lub nowszym a istniejącym woluminem katalogu danych. Edytuj
.devcontainer/docker-compose.yamli zmieńpostgres:latestnapostgres:17, a następnie ponownie skompiluj kontener. PostgreSQL 18 zmienił układ katalogu danych, co sprawiło, że montowanie woluminu w/var/lib/postgresql/datajest niezgodne z poprzednimi wersjami.Wybierz plik .env.devcontainer i utwórz kopię o nazwie env z tą samą zawartością.
Plik env zawiera zmienne środowiskowe, których kod używa do nawiązywania połączenia z bazą danych.
Jeśli okno terminalu nie jest jeszcze otwarte, otwórz je, otwierając paletę poleceń (
Ctrl+Shift+P/Ctrl+Command+P), wpisując "Terminal: Utwórz nowy terminal" i wybierając go, aby utworzyć nowy terminal.Wybierz kartę PORTY w oknie terminalu, aby potwierdzić, że usługa PostgreSQL jest uruchomiona na porcie 5432.
W oknie terminalu uruchom aplikację FastAPI.
uvicorn main:app --reloadWybierz powiadomienie Otwórz w przeglądarce.
Jeśli nie widzisz lub nie przegapisz powiadomienia, przejdź do pozycji PORTY i znajdź adres lokalny dla portu 8000. Użyj podanego tam adresu URL.
Dodaj /docs na końcu adresu URL podglądu, aby wyświetlić interfejs użytkownika struktury Swagger, którego można użyć do testowania metod interfejsu API.
Metody API są generowane na podstawie interfejsu OpenAPI tworzonego przez FastAPI z kodu.
Na stronie Swagger uruchom metodę POST, aby dodać restaurację.
Rozwiń metodę POST .
Wybierz pozycję Wypróbuj.
Wypełnij treść żądania.
{ "name": "Restaurant 1", "address": "Restaurant 1 address" }Wybierz pozycję Wykonaj , aby zatwierdzić zmianę.
Nawiązywanie połączenia z bazą danych i wyświetlanie danych
Wróć do usługi GitHub Codespace dla projektu, wybierz rozszerzenie SQLTools, a następnie wybierz pozycję Lokalna baza danych , aby nawiązać połączenie.
Rozszerzenie SQLTools jest instalowane podczas tworzenia kontenera. Jeśli rozszerzenie SQLTools nie jest wyświetlane na pasku działania, zamknij przestrzeń kodu i otwórz ją ponownie.
Rozwiń węzeł Lokalna baza danych do momentu znalezienia tabeli restauracji , kliknij prawym przyciskiem myszy i wybierz polecenie Pokaż rekordy tabel.
Zobaczysz dodaną restaurację.
Czyszczenie
Aby zatrzymać korzystanie z przestrzeni kodu, zamknij przeglądarkę. (Możesz też zamknąć program VS Code, jeśli został on otwarty w ten sposób).
Jeśli planujesz ponownie używać przestrzeni kodu, możesz ją zachować. Opłaty za użycie procesora CPU są naliczane tylko w przestrzeniach codespace (środowiska uruchamiania kodu). Zatrzymana przestrzeń kodu wiąże się tylko z kosztami magazynowania.
Jeśli chcesz usunąć przestrzeń kodu, przejdź do https://github.com/codespaces, aby zarządzać swoimi przestrzeniami kodu.