Heim > Backend-Entwicklung > Python-Tutorial > Serverlose FastAPI-Entwicklung: Erstellen der Player FC API auf AWS

Serverlose FastAPI-Entwicklung: Erstellen der Player FC API auf AWS

Linda Hamilton
Freigeben: 2025-01-11 16:09:41
Original
571 Leute haben es durchsucht

Es ist schon eine Weile her, seit ich die Gelegenheit hatte, etwas Einfaches, Interessantes und Modernes zu bauen. Gegen Ende des Jahres 2024 bin ich auf FastAPI gestoßen und war begeistert. Obwohl ich bei der Arbeit bereits interne APIs erstellt habe, hatte ich noch nichts für die Öffentlichkeit erstellt.

Hallo FastAPI!

FastAPI ist ein modernes, leistungsstarkes Framework zum Erstellen von APIs mit Python und es schien perfekt für das zu sein, was ich erstellen wollte, eine API für grundlegende Fußballspielerinformationen. Ich nannte es zunächst „Jugador FC“, bevor ich mich für „Player FC API“ entschied.

Umgebung konfigurieren.

Bevor Sie beginnen, stellen Sie sicher, dass die folgenden Anforderungen erfüllt sind:

AWS CDK
Docker
Python 3.12.7

Erstellen des Projekts

Erstellen Sie ein Verzeichnis auf Ihrem Computer. Nennen Sie es player_fc_fastapi_app, erstellen Sie in diesem Verzeichnis die folgenden Unterverzeichnisse:

App
    Enthält den gesamten FastAPI-Code
dynamo_db_local
    Enthält ein Python-Skript zum Erstellen einer lokalen Version einer Amazon DynamoDB-Tabelle
iac
    Enthält Ihre Stack-Dateien zum Erstellen von Ressourcen in AWS

Ich habe es einfacher gemacht, indem ich unten die Befehle bereitgestellt habe, die Sie ausführen können, um Zeit zu sparen:

Die Projektverzeichnisstruktur sollte nun wie folgt aussehen:

Einrichten der Python-Umgebung

Erstellen Sie nach dem Erstellen der Verzeichnisstruktur eine Textdatei mit dem Namen „requirements.txt“ und fügen Sie darin die folgenden Zeilen ein:

Sobald Sie die Datei „requirements.txt“ erstellt haben, erstellen Sie eine virtuelle Umgebung und installieren Sie die Abhängigkeiten:

Einrichten von Amazon DynamoDB Local

Beginnen wir mit der Einrichtung einer lokalen Instanz von DynamoDB. Dazu muss
Docker

installiert und ausgeführt sein.

Es dauert einige Sekunden, bis das Bild abgerufen und ein Container gestartet wird. Sobald wir fertig sind, können wir zum Verzeichnis

dynamo_db_local navigieren und eine Datei „create_ddb_table.py“ erstellen und die Datei mit dem folgenden Code füllen :

Mit diesem Code können Sie eine Tabelle in der lokalen DynamoDB-Instanz erstellen. Führen Sie das Code-Snippet aus. FastAPI-Entwicklung

Da wir nun eine lokale Instanz von

DynamoDB
haben und laufen, beginnen wir mit der Erstellung unserer App, navigieren zum Verzeichnis
app

und erstellen zwei Dateien, main.py und Anforderungen. txt.

Füllen Sie die Datei „requirements.txt“ mit Folgendem aus:

Erstellen Sie die folgenden Unterverzeichnisse:

Modelle
     Pydantic Player-Modelle<script></script> <script></script>Router<script></script><script></script>      Enthält Routen<script></script> <script></script> <script></script> <script></script>

Lassen Sie uns ein paar Modelle mit Pydantic erstellen. Wir werden die Player- und UpdatePlayer-Modelle verwenden, um die Datenstruktur der Spielerinformationen zu definieren, die wir hinzufügen oder ändern können.

Erstellen Sie im Unterverzeichnis models eine leere __init__.py-Datei und eine Datei mit dem Namen „players.py“ und füllen Sie sie mit dem folgenden Code:

Erstellen Sie im Unterverzeichnis routers

eine leere __init__.py-Datei und eine Datei mit dem Namen „players.py“ und füllen Sie sie mit dem folgenden Code:

Durch das Erstellen einer leeren __init__.py-Datei wird ein Ordner in ein Python-Paket umgewandelt.

Erstellen Sie eine Datei mit dem Namen main.py im Unterverzeichnis

app
und füllen Sie sie mit dem folgenden Code:

Probefahrt Zeit für eine kurze Probefahrt. Stellen Sie sicher, dass Sie sich im Verzeichnis app

befinden, und führen Sie den folgenden Befehl aus, um
Uvicorn
zu starten:

Da unsere App nun betriebsbereit ist, navigieren Sie zu

http://127.0.0.1:8000/docs/

FastAPI Swagger Documentation

Sie sehen die automatische interaktive API-Dokumentation mit 6 verfügbaren Endpunkten:

Versuchen wir, einen Spieler hinzuzufügen. Wählen Sie den Endpunkt

POST /players
, klicken Sie auf die Schaltfläche
Ausprobieren

und fügen Sie mit der folgenden Nutzlast den weltbesten Spieler „Vinícius Júnior“ hinzu:

So sieht jeder API-Vorgang in Aktion aus.

Add Player

Neuen Player hinzufügen:

Get All Players

Alle Spieler abrufen:

Update Player

Spielerinformationen aktualisieren:

Get Player

Einzelspielerdetails abrufen:

Delete Player

Entfernen eines Spielers:

Bereitstellung mit AWS CDK v2

Da wir nun damit vertraut sind, unsere App lokal auszuführen und zu testen, ist es an der Zeit, unsere App auf AWS bereitzustellen. Wir werden das AWS CDK v2 verwenden.
Navigieren Sie in das Verzeichnis <script></script>iac<script></script> und führen Sie den folgenden Befehl aus, um ein CDK-Projekt zu initialisieren:<script></script> <script></script> <script></script> <script></script>

Ändern Sie die Datei requirements.txt im Unterverzeichnis und fügen Sie die folgende Zeile hinzu:

Lassen Sie uns eine DynamoDB-Tabelle, eine Lambda-Funktion und eine Lambda-Funktions-URL definieren. Im aktuellen iac-Verzeichnis gibt es ein weiteres Unterverzeichnis, zu dem Sie navigieren müssen (iac

). Öffnen Sie die Datei iac_stack.py und ersetzen Sie den Inhalt des CDK-Stacks durch den folgenden Code:

Bevor wir mit der Bereitstellung beginnen, müssen wir noch einen letzten Schritt tun: Setzen Sie das Flag für „local_development: bool“ auf „False“ in der Datei „players.py“ im Verzeichnis „app/routers“ im Verzeichnis „

Aktivieren Sie die virtuelle Umgebung im Verzeichnis
iac

und installieren Sie die Abhängigkeiten mit den folgenden Befehlen:

Stellen Sie die App mit dem cdk-Deploy-Befehl bereit.

Sobald die Bereitstellung abgeschlossen ist, sehen Sie in der Terminalausgabe eine Funktions-URL. Dies ist Ihr API-Endpunkt auf AWS.

CDK Deploy FastAPI APP

Testen Sie alle Endpunkte mithilfe der Funktions-URL, wie wir es während der lokalen Testfahrt getan haben. Sobald Sie einen Spieler hinzugefügt haben, ist es an der Zeit zu überprüfen, ob unsere Spielerdaten bestehen bleiben oder im Äther verschwunden sind.

Um zu überprüfen, ob alles funktioniert:

    Gehen Sie zur
  1. AWS-Managementkonsole
  2. Navigieren Sie zu
  3. DynamoDB
  4. Finden Sie den
  5. Spieler-Tisch
  6. Wählen Sie
  7. Tabellenelemente erkunden
Sie sollten Ihre Spielerdaten in der Cloud sehen:

Player FC DynamoDB Table

?

Wichtig: Vergessen Sie nicht, Ressourcen aufzuräumen! Wenn Sie sie nicht mehr benötigen, können Sie den Befehl cdk destroy ausführen, um alle erstellten AWS-Ressourcen zu löschen.

Damit ist unsere Reise von der lokalen FastAPI-Entwicklung zur serverlosen Bereitstellung auf AWS abgeschlossen.

Das obige ist der detaillierte Inhalt vonServerlose FastAPI-Entwicklung: Erstellen der Player FC API auf AWS. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:dev.to
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage