Introduction
FastAPI a rapidement gagné en popularité en tant que framework web hautement performant et facile à utiliser pour construire des API avec Python. En association avec une base de données relationnelle, FastAPI peut être utilisé pour créer des applications puissantes et scalables. Ce guide vous guidera à travers le processus de configuration d’une application FastAPI avec une base de données relationnelle sur une machine Ubuntu 24.04. Nous aborderons tout, depuis l’installation des outils nécessaires jusqu’à la configuration de la base de données et la création des extrémités API.
Utilisez FastAPI avec une Base de Données PostgreSQL
- Configuration de l’Environnement Python
- Créer et Activer un Environnement Virtuel
- Installer et Configurer PostgreSQL
- Créer une application FastAPI
- Installer les bibliothèques requises
- Exécuter l’application Python
- Tester les points d’entrée des applications FastAPI
Prérequis
Avant de suivre les étapes de ce tutoriel, vous devez :
-
Un serveur fonctionnant sous Ubuntu ainsi qu’un utilisateur non-root avec des privilèges sudo et un pare-feu actif. Pour de la guidance sur la configuration de cela, veuillez choisir votre distribution de cette liste et suivez notre guide de configuration initiale du serveur. Veuillez vous assurer de travailler avec une version supportée d’Ubuntu.
-
Familiarité avec la ligne de commande Linux. Pour une introduction ou un rappel à la ligne de commande, vous pouvez visiter ce guide sur le primer de la ligne de commande Linux.
-
Exécutez
sudo apt-get update
dans le terminal Ubuntu pour vous assurer que votre système dispose des dernières versions et des mises à jour de sécurité des logiciels disponibles à partir des dépôts configurés sur votre système.
Ces instructions sont valables pour les dernières versions d’Ubuntu : Ubuntu 24.04, Ubuntu 22.04 et Ubuntu 20.04. Si vous utilisez une version d’Ubuntu <= 18.04, nous vous recommandons de mettre à jour vers une version plus récente car Ubuntu ne fournit plus de support pour ces versions. Cette collection de guides vous aidera à mettre à jour votre version d’Ubuntu.
Étape 1 – Configuration de l’environnement Python
Ubuntu 24.04 fournit Python 3 par défaut. Ouvrez le terminal et exécutez le commande suivante pour vérifier l’installation de Python 3 :
Si Python 3 est déjà installé sur votre machine, ce commande retournera la version actuelle de l’installation de Python 3. Dans le cas contraire, vous pouvez exécuter la commande suivante pour installer Python 3 :
Next, you need to install the pip
and dev
package installers on your system. Run the following command in the terminal:
Dans ce tutoriel, nous utiliserons PostgreSQL comme base de données relationnelle. Pour interagir avec la base de données PostgreSQL, vous devez installer libpq-dev
en utilisant la commande suivante :
Étape 2 – Créer et activer le environnement virtuel
Si vous utilisez une version d’Ubuntu < 24.04, vous n’avez pas besoin de créer un environnement virtuel. Vous pouvez passer à la prochaine étape .
La prochaine étape consiste à créer un environnement virtuel à l’intérieur de votre installation d’Ubuntu pour isoler les paquets Python de votre environnement système. Pour ce faire, allez dans votre dossier de travail et exécutez les commandes suivantes :
Cette commande créera un nouvel environnement virtuel dans un dossier nommé fastapi-env
. Il aura son propre ensemble de paquets Python dédiés, isolés d’autres projets.
Afin que les paquets que vous installez à partir de maintenant soient installés dans cet environnement isolé, vous devez le激活er en exécutant :
À l’exécution, vous remarquerez que le prompt de terminal est précédé du nom de votre environnement virtuel comme ceci :
Output(fastapi-env) ubuntu@user:
Étape 3 – Installer et configurer PostgreSQL
La prochaine étape consiste à installer PostgreSQL (ou de votre choix de base de données relationnelle).
Maintenant, il est temps de démarrer et d’activer le service PostgreSQL à l’intérieur de votre environnement virtuel.
Vous pouvez vérifier l’état du service PostgreSQL en exécutant sudo systemctl status postgresql
. Une fois le service activé, il est automatiquement démarré au démarrage du système.
Pour installer et utiliser PostgreSQL avec FastAPI, vous devez installer quelques choses :
asyncpg
: C’est un pilote asynchrone PostgreSQL qui permet à FastAPI d’interagir avec une base de données PostgreSQL.SQLAlchemy
: C’est une bibliothèque ORM qui vous permet de gérer les schémas de base de données et les requêtes en écrivant du code Python plutôt que de coder en SQL brut.databases
: C’est une bibliothèque de base de données pour les opérations asynchrones requises parSQLAlchemy
pour travailler asynchronement avec FastAPI.
Pour installer ces composants, exécutez le commande suivante regroupée :
Next up, create a Postgres database and user with the required privileges.
Étape 4 – Créer une application Python de test
Vous devez avoir une application Python exécutable qui accède à votre base de données via FastAPI. Si vous n’avez pas déjà une application Python en cours d’execution, vous pouvez en créer une rapidement en suivant les étapes suivantes :
Créer un nouveau fichier Python nommé postgres_db.py
dans votre répertoire de projet.
Dans l’éditeur de texte, vous écrirez la logique pour créer une connexion à la base de données et créer une table à l’intérieur de la base. Dans cet exemple, nous créons une connexion à la base de données PostgreSQL en utilisant le package databases
et définissons la structure d’une table books
en utilisant SQLAlchemy
.
Enregistrer et fermer le fichier.
Ensuite, créez un main.py
dans le même répertoire.
Écrivez la logique principale de votre application dans ce fichier :
Ce code utilise FastAPI pour écrire de nouvelles entrées de livres dans la base de données PostgreSQL et récupérer la collection de livres depuis elle.
Étape 5 – Installer les bibliothèques requises
Dans votre application Python, vous référencez diverses bibliothèques et paquets. Avant d’exécuter l’application, assurez-vous d’installer les bibliothèques requises.
Étape 6 – Exécuter l’application Python
Maintenant, il est temps de lancer l’application que vous avez créée.
uvicorn
est un serveur de passerelle intergiciel asynchrone (ASGI) utilisé pour servir les applications FastAPI. Utiliser uvicorn
est la méthode préférée pour exécuter une application FastAPI, car FastAPI est un framework web asynchrone lui-même.
Si la commande ci-dessus s’exécute sans rencontrer d’erreur, vous verrez une sortie similaire à celle suivante :
OutputINFO: Will watch for changes in these directories: ['/path/to/your/project']
INFO: Uvicorn running on http://127.0.0.1:8000 (Press CTRL+C to quit)
INFO: Started reloader process [XXXX] using StatReload
INFO: Started server process [YYYY]
INFO: Waiting for application startup.
INFO: Application startup complete.
Dans un navigateur Web, naviguez vers http://127.0.0.1:8000
pour voir la sortie de la requête.
Étape 7 [OPTIONNEL] – Tester les Points d’Accès
Vous pouvez tester les points d’accès définis dans votre main.py
(c’est-à-dire POST
et GET
) en envoyant des demandes HTTP au serveur exécuté sur http://127.0.0.1:8000
.
De même, vous pouvez effectuer une requête GET
identique au serveur pour récupérer la liste des livres présents dans votre base de données Postgres.
Conclusion
Dans ce tutoriel, vous avez suivi le processus de configuration d’une application FastAPI simple qui interagit avec une base de données PostgreSQL. Ces étapes sont également utiles pour les applications AI, en particulier lorsque vous devez construire une API Web pour interagir avec vos modèles AI ou gérer les données liées à vos processus AI. Avec cette base en place, vous pouvez maintenant construire et étendre vos projets FastAPI.
Restez à l’affaire pour plus d’articles sur la manipulation de FastAPI.
Source:
https://www.digitalocean.com/community/tutorials/use-fastapi-with-relationaldb-ubuntu