Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
In diesem Artikel erfahren Sie, wie Sie FastAPI und Postgres in einer GitHub Codespaces-Umgebung zusammen ausführen. Codespaces ist eine in der Cloud gehostete Entwicklungsumgebung, mit der Sie konfigurierbare und wiederholbare Entwicklungsumgebungen erstellen können.
Sie können das Beispiel-Repository in einem Browser oder in einer integrierten Entwicklungsumgebung (IDE) wie Visual Studio Code mit der GitHub Codespaces-Erweiterung öffnen.
Alternativ können Sie das Beispiel-Repository lokal klonen. Wenn Sie das Projekt in Visual Studio Code öffnen, können Sie Dev-Container verwenden, um es mit Dev-Containern auszuführen. Dev Containers erfordert, dass Docker Desktop lokal installiert werden muss. Wenn Docker nicht installiert ist, können Sie das Projekt mit GitHub Codespaces als Entwicklungsumgebung ausführen.
Beachten Sie bei der Verwendung von GitHub Codespaces, dass Sie eine feste Anzahl von Kernstunden kostenlos pro Monat haben. Das Abschließen dieses Tutorials dauert weniger als eine Core-Stunde. Weitere Informationen finden Sie unter "Abrechnung für GitHub Codespaces".
Sie können dieses Setup auch als Ausgangspunkt verwenden und das Beispiel so ändern, dass andere Python-Webframeworks wie Django oder Flask ausgeführt werden.
Starten der Entwicklungsumgebung in Codespaces
In diesem Lernprogramm wird eine von vielen möglichen Möglichkeiten zum Erstellen und Arbeiten mit GitHub Codespaces vorgestellt.
Wechseln Sie zum Beispiel-App-Repository https://github.com/Azure-Samples/msdocs-fastapi-postgres-codespace.
Das Beispielrepo verfügt über die gesamte Konfiguration, die zum Erstellen einer Umgebung mit einer FastAPI-App mit einer Postgres-Datenbank erforderlich ist. Sie können ein ähnliches Projekt erstellen, das den Schritten im Einrichten eines Python-Projekts für GitHub Codespaces folgt.
Wählen Sie die Registerkarte "Code", " Codespaces " aus, und + erstellen Sie einen neuen Codespace.
Wenn der Container die Erstellung abgeschlossen hat, vergewissern Sie sich, dass Codespaces in der unteren linken Ecke des Browsers angezeigt werden, und sehen Sie sich das Beispiel-Repository an.
Die Codespace-Schlüsselkonfigurationsdateien sind devcontainer.json, Dockerfile und docker-compose.yml. Weitere Informationen finden Sie in der Übersicht über GitHub Codespaces.
Tipp
Sie können den Codespace auch in Visual Studio Code ausführen. Wählen Sie Codespaces in der unteren linken Ecke des Browsers oder (
Ctrl+Shift+P/Ctrl+Command+P) aus, und geben Sie "Codespaces" ein. Wählen Sie dann "In VS Code öffnen" aus. Wenn Sie den Codespace beenden und zum Repository zurückkehren und es erneut in GitHub Codespaces öffnen, haben Sie die Möglichkeit, ihn in VS Code oder einem Browser zu öffnen.Wählen Sie die DATEI ".env.devcontainer " aus, und erstellen Sie eine Kopie namens ".env " mit demselben Inhalt.
Der env enthält Umgebungsvariablen, die im Code zum Herstellen einer Verbindung mit der Datenbank verwendet werden.
Wenn noch kein Terminalfenster geöffnet ist, öffnen Sie eins, indem Sie die Befehlspalette öffnen (
Ctrl+Shift+P/Ctrl+Command+P), indem Sie "Terminal: Neues Terminal erstellen" eingeben und es auswählen, um ein neues Terminal zu erstellen.Wählen Sie im Terminalfenster die Registerkarte "PORTS " aus, um zu bestätigen, dass PostgreSQL auf Port 5432 ausgeführt wird.
Führen Sie im Terminalfenster die FastAPI-App aus.
uvicorn main:app --reloadWählen Sie die Benachrichtigung im Browser öffnen aus.
Wenn die Benachrichtigung nicht angezeigt oder verpasst wird, wechseln Sie zu PORTS , und suchen Sie die lokale Adresse für Port 8000. Verwenden Sie die dort aufgeführte URL.
Fügen Sie "/docs " am Ende der Vorschau-URL hinzu, um die Swagger-UI anzuzeigen, mit der Sie die API-Methoden testen können.
Die API-Methoden werden aus der OpenAPI-Schnittstelle generiert, die FastAPI aus dem Code erstellt.
Führen Sie auf der Seite "Swagger" die POST-Methode aus, um ein Restaurant hinzuzufügen.
Erweitern Sie die POST-Methode .
Wählen Sie Ausprobieren aus.
Füllen Sie den Body der Anfrage aus.
{ "name": "Restaurant 1", "address": "Restaurant 1 address" }Wählen Sie "Ausführen" aus, um die Änderung zu übernehmen.
Herstellen einer Verbindung mit der Datenbank und Anzeigen der Daten
Wechseln Sie zurück zum GitHub Codespace für das Projekt, wählen Sie die SQLTools-Erweiterung aus, und wählen Sie dann " Lokale Datenbank " aus, um eine Verbindung herzustellen.
Die SQLTools-Erweiterung sollte installiert werden, wenn der Container erstellt wird. Wenn die SQLTools-Erweiterung nicht in der Aktivitätsleiste angezeigt wird, schließen Sie den Codespace, und öffnen Sie sie erneut.
Erweitern Sie den Knoten " Lokale Datenbank ", bis Sie die Tabelle "Restaurants " gefunden haben. Wählen Sie mit der rechten Maustaste " Tabellendatensätze anzeigen" aus.
Sie sollten das Restaurant sehen, das Sie hinzugefügt haben.
Aufräumen
Schließen Sie den Browser, um die Verwendung des Codespaces zu beenden. (Oder schließen Sie VS Code, wenn Sie ihn auf diese Weise geöffnet haben.)
Wenn Sie die Verwendung des Codespaces erneut planen, können Sie ihn beibehalten. Nur beim Ausführen von Codespaces fallen CPU-Gebühren an. Für einen beendeten Codespace fallen nur Speicherkosten an.
Wenn Sie den Codespace entfernen möchten, gehen Sie zu https://github.com/codespaces, um Ihre Codespaces zu verwalten.