Maison > développement back-end > Tutoriel Python > Développement FastAPI sans serveur : création de l'API Player FC sur AWS

Développement FastAPI sans serveur : création de l'API Player FC sur AWS

Linda Hamilton
Libérer: 2025-01-11 16:09:41
original
513 Les gens l'ont consulté

Cela fait un moment que je n'ai pas eu l'opportunité de construire quelque chose de simple, intéressant et moderne. Vers le backend de 2024, je suis tombé sur FastAPI et j'ai été enthousiasmé, même si j'avais déjà construit des API internes au travail, je n'avais encore rien créé public.

Bonjour FastAPI !

FastAPI est un framework moderne et puissant pour créer des API avec Python et il me semblait parfait pour ce que je voulais créer, une API pour les informations de base sur les joueurs de football. Je l'ai d'abord surnommé "Jugador FC" avant de me contenter de "Player FC API".

Configuration de l'environnement.

Avant de commencer, assurez-vous d'avoir les conditions suivantes en place :

AWS CDK
Docker
Python 3.12.7

Création du projet

Créez un répertoire sur votre machine. Nommez-le player_fc_fastapi_app, dans ce répertoire créez les sous-répertoires suivants :

application
    Contient tout le code FastAPI
dynamo_db_local
    Contient un script Python pour créer une version locale d'une table Amazon DynamoDB
iac
    Contient vos fichiers de pile pour créer des ressources dans AWS

J'ai facilité la tâche en fournissant ci-dessous les commandes que vous pouvez exécuter pour gagner du temps :

La structure du répertoire du projet devrait maintenant ressembler à ci-dessous :

Configuration de l'environnement Python

Après avoir créé la structure de répertoires, créez un fichier texte appelé exigences.txt et insérez-y les lignes suivantes :

Une fois que vous avez créé le fichier exigences.txt, créez un environnement virtuel et installez les dépendances :

Configuration d'Amazon DynamoDB Local

Commençons par configurer une instance locale de DynamoDB, cela nécessitera que
Docker

soit installé et exécuté.

Cela prendra quelques secondes pour que l'image soit extraite et démarrer un conteneur, une fois cela fait, nous pouvons naviguer vers le répertoire

dynamo_db_local et créer un fichier create_ddb_table.py, remplir le fichier avec le code ci-dessous :

Avec ce code, vous pouvez créer une table dans l'instance DynamoDB locale. Exécutez l'extrait de code. Développement d'API rapide

Maintenant que nous avons une instance locale de

DynamoDB
opérationnelle, commençons à créer notre application, naviguons vers le répertoire
app

et créons deux fichiers, main.py et requis. txt.

Remplissez le fichierRequirements.txt avec ce qui suit :

Créez les sous-répertoires ci-dessous :

modèles
     Modèles de joueurs Pydantic<script></script> <script></script>routeurs<script></script><script></script>      Contient des itinéraires<script></script> <script></script> <script></script> <script></script>

Créons quelques modèles en utilisant Pydantic, nous utiliserons les modèles Player et UpdatePlayer pour définir la structure de données des informations sur le joueur que nous pouvons ajouter ou modifier.

Dans le sous-répertoire models, créez un fichier __init__.py vide et un fichier nommé player.py et remplissez avec le code ci-dessous :

Dans le sous-répertoire routers

, créez un fichier __init__.py vide et un fichier nommé joueurs.py et remplissez avec le code ci-dessous :

La création d'un fichier __init__.py vide transforme un dossier en package Python.

Créez un fichier nommé main.py dans le sous-répertoire

app
et commencez à le remplir avec le code ci-dessous :

Essai routier Il est temps de faire un essai rapide, assurez-vous que vous êtes dans le répertoire app

et exécutez la commande ci-dessous pour démarrer
Uvicorn
 :

Maintenant que notre application est opérationnelle, accédez à

http://127.0.0.1:8000/docs/

FastAPI Swagger Documentation

Vous verrez la documentation interactive automatique de l'API avec 6 points de terminaison disponibles :

Essayons d'ajouter un joueur. Sélectionnez le point de terminaison

POST /players
, sélectionnez le bouton
Essayez-le

et utilisez la charge utile ci-dessous pour ajouter le meilleur joueur du monde, "Vinícius Júnior" :

Voici à quoi ressemble chaque opération de l'API en action.

Add Player

Ajout d'un nouveau joueur :

Get All Players

Récupération de tous les joueurs :

Update Player

Mise à jour des informations sur le joueur :

Get Player

Obtention des détails du mode solo :

Delete Player

Supprimer un joueur :

Déploiement à l'aide d'AWS CDK v2

Maintenant que nous sommes à l'aise avec l'exécution et le test de notre application localement, il est temps de déployer notre application sur AWS. Nous utiliserons l'AWS CDK v2.
Naviguez dans le répertoire <script></script>iac<script></script>, exécutez la commande ci-dessous pour initialiser un projet cdk :<script></script> <script></script> <script></script> <script></script>

Modifiez le fichier requirements.txt trouvé dans le sous-répertoire, ajoutez la ligne ci-dessous :

Définissons une table DynamoDB, une fonction Lambda et une URL de fonction Lambda. Dans le répertoire iac actuel, il y a un autre sous-répertoire vers lequel vous devez naviguer (iac

). Ouvrez le fichier iac_stack.py et remplacez le contenu de la pile CDK par le code ci-dessous :

Nous avons une dernière étape avant de lancer le déploiement, définissez l'indicateur pour local_development : bool sur False dans le fichier Players.py du répertoire

app/routers
.

Activez l'environnement virtuel dans le répertoire
iac
et installez les dépendances avec les commandes ci-dessous :

Déployez l'application avec la commande cdk déployer.CDK Deploy FastAPI APP
Une fois le déploiement terminé, vous verrez une URL de fonction dans la sortie du terminal, il s'agit du point de terminaison de votre API sur AWS.

    Testez tous les points de terminaison à l'aide de l'URL de la fonction, comme nous l'avons fait lors de l'essai local. Une fois que vous avez ajouté un joueur, il est temps de vérifier si nos données de joueur ont persisté ou ont disparu dans l'éther.
  1. Pour vérifier que tout fonctionne :
  2. Rendez-vous vers la AWS Management Console
  3. Accédez à DynamoDB
  4. Trouver la table des Joueurs
Sélectionnez

Explorer les éléments du tableau

Player FC DynamoDB Table

Vous devriez voir les données de votre joueur dans le cloud :

?

Important :N'oubliez pas de nettoyer les ressources ! Lorsque vous n'en avez plus besoin, vous pouvez exécuter la commande cdk destroy pour supprimer toutes les ressources AWS créées. <script></script>Cela conclut notre parcours du développement FastAPI local au déploiement sans serveur sur AWS.<script></script> <script></script> <script></script>

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:dev.to
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal