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".
Avant de commencer, assurez-vous d'avoir les conditions suivantes en place :
AWS CDK
Docker
Python 3.12.7
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
Configuration d'Amazon DynamoDB Local
soit installé et exécuté.
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
DynamoDBet 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 :
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
appEssai 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
Maintenant que notre application est opérationnelle, accédez à
http://127.0.0.1:8000/docs/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 /playerset 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.
Ajout d'un nouveau joueur :
Récupération de tous les joueurs :
Mise à jour des informations sur le joueur :
Obtention des détails du mode solo :
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.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/routersActivez l'environnement virtuel dans le répertoire
Déployez l'application avec la commande cdk déployer.
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.
Explorer les éléments du tableau
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!