Notes
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Cet article explique comment exécuter FastAPI et Postgres ensemble dans un environnement GitHub Codespaces . Codespaces est un environnement de développement hébergé dans le cloud qui vous permet de créer des environnements de développement configurables et reproductibles.
Vous pouvez ouvrir l’exemple de dépôt dans un navigateur ou dans un environnement de développement intégré (IDE) comme Visual Studio Code avec l’extension GitHub Codespaces.
Vous pouvez également cloner l’exemple de référentiel localement. Lorsque vous ouvrez le projet dans Visual Studio Code, vous pouvez utiliser des conteneurs de développement pour l’exécuter à l’aide de conteneurs de développement. Les conteneurs de développement nécessitent que Docker Desktop soit installé localement. Si Docker n’est pas installé, vous pouvez exécuter le projet à l’aide de GitHub Codespaces comme environnement de développement.
Lorsque vous utilisez GitHub Codespaces, gardez à l’esprit que vous disposez d’un nombre fixe d’heures de base gratuites par mois. Ce didacticiel nécessite moins d’une heure pour être terminé. Pour plus d’informations, consultez À propos de la facturation pour GitHub Codespaces.
Vous pouvez également utiliser cette configuration comme point de départ et modifier l’exemple pour exécuter d’autres frameworks web Python tels que Django ou Flask.
Démarrer l’environnement de développement dans Codespaces
Ce didacticiel présente l’une des nombreuses façons possibles de créer et d’utiliser GitHub Codespaces.
Accédez au référentiel d’applications d’exemple https://github.com/Azure-Samples/msdocs-fastapi-postgres-codespace.
L’exemple de référentiel a toutes les configurations nécessaires pour créer un environnement avec une application FastAPI à l’aide d’une base de données Postgres. Vous pouvez créer un projet similaire en suivant les étapes de configuration d’un projet Python pour GitHub Codespaces.
Sélectionnez l’onglet Code, Codespaces et + créez un espace de code.
Une fois la construction du conteneur terminée, vérifiez que Codespaces apparaît dans le coin inférieur gauche du navigateur et que le dépôt d'exemple est visible.
Les fichiers de configuration de clé d’espace de code sont devcontainer.json, Dockerfile et docker-compose.yml. Pour plus d’informations, consultez la vue d’ensemble de GitHub Codespaces.
Conseil / Astuce
Vous pouvez également exécuter l’espace de code dans Visual Studio Code. Sélectionnez Espaces de code dans le coin inférieur gauche du navigateur ou (
Ctrl
+Shift
+P
/Ctrl
+Command
+P
) et tapez « Espaces de code ». Sélectionnez Ensuite Ouvrir dans VS Code. En outre, si vous arrêtez l’espace de code et revenez au référentiel et ouvrez-le à nouveau dans GitHub Codespaces, vous avez la possibilité de l’ouvrir dans VS Code ou un navigateur.Sélectionnez le fichier .env.devcontainer et créez une copie appelée .env avec le même contenu.
. env contient des variables d’environnement utilisées dans le code pour se connecter à la base de données.
Si une fenêtre de terminal n’est pas déjà ouverte, ouvrez-en une en ouvrant la palette de commandes (
Ctrl
+Shift
+P
/Ctrl
+Command
+P
), en tapant « Terminal : Créer un terminal », puis sélectionnez-la pour créer un terminal.Sélectionnez l’onglet PORTS dans la fenêtre de terminal pour vérifier que PostgreSQL s’exécute sur le port 5432.
Dans la fenêtre de terminal, exécutez l’application FastAPI.
uvicorn main:app --reload
Sélectionnez la notification Ouvrir dans le navigateur.
Si vous ne voyez pas ou n’avez pas manqué la notification, accédez à PORTS et recherchez l’adresse locale pour le port 8000. Utilisez l’URL répertoriée ici.
Ajoutez /docs à la fin de l’URL d’aperçu pour voir l’interface utilisateur Swagger, ce qui vous permet de tester les méthodes d’API.
Les méthodes d’API sont générées à partir de l’interface OpenAPI créée par FastAPI à partir du code.
Dans la page Swagger, exécutez la méthode POST pour ajouter un restaurant.
Développez la méthode POST .
Sélectionnez Essayer.
Renseignez le corps de la demande.
{ "name": "Restaurant 1", "address": "Restaurant 1 address" }
Sélectionnez Exécuter pour valider la modification
Se connecter à la base de données et afficher les données
Revenez à GitHub Codespace pour le projet, sélectionnez l’extension SQLTools, puis sélectionnez Base de données locale à connecter.
L’extension SQLTools doit être installée lors de la création du conteneur. Si l’extension SQLTools n’apparaît pas dans la barre d’activité, fermez l’espace de code et rouvrez.
Développez le nœud Base de données locale jusqu’à ce que vous trouviez la table restaurants, cliquez avec le bouton droit et sélectionnez Afficher les enregistrements de table.
Vous devriez voir le restaurant que vous avez ajouté.
Nettoyage
Pour arrêter d’utiliser l’espace de code, fermez le navigateur. (Ou fermez VS Code si vous l’avez ouvert de cette façon.)
Si vous envisagez à nouveau d’utiliser l’espace de code, vous pouvez le conserver. Seuls les codespaces exécutés entraînent des frais de processeur. Un codespace arrêté entraîne uniquement des coûts de stockage.
Si vous souhaitez supprimer l'espace de code, accédez à la gestion de vos espaces de code via https://github.com/codespaces.