Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
En este artículo se muestra cómo ejecutar FastAPI y Postgres juntos en un entorno de GitHub Codespaces . Codespaces es un entorno de desarrollo hospedado en la nube que permite crear entornos de desarrollo configurables y repetibles.
Puede abrir el repositorio de ejemplo en un explorador o en un entorno de desarrollo integrado (IDE), como Visual Studio Code con la extensión GitHub Codespaces.
Como alternativa, puede clonar el repositorio de ejemplo localmente. Al abrir el proyecto en Visual Studio Code, puede usar Contenedores de desarrollo para ejecutarlo mediante Contenedores de desarrollo. Los contenedores de desarrollo requieren que Docker Desktop se instale localmente. Si Docker no está instalado, puede ejecutar el proyecto mediante GitHub Codespaces como entorno de desarrollo.
Al usar GitHub Codespaces, tenga en cuenta que tiene un número fijo de horas básicas gratuitas al mes. Se requiere menos de una hora básica para completar este tutorial. Para más información, consulte Acerca de la facturación de GitHub Codespaces.
También puede usar esta configuración como punto de partida y modificar el ejemplo para ejecutar otros marcos web de Python, como Django o Flask.
Inicio del entorno de desarrollo en Codespaces
En este tutorial se presenta una de muchas formas posibles de crear y trabajar con GitHub Codespaces.
Vaya al repositorio https://github.com/Azure-Samples/msdocs-fastapi-postgres-codespacede aplicaciones de ejemplo .
El repositorio de ejemplo tiene toda la configuración necesaria para crear un entorno con una aplicación fastAPI mediante una base de datos postgres. Puede crear un proyecto similar siguiendo los pasos descritos en Configuración de un proyecto de Python para GitHub Codespaces.
Seleccione la pestaña Código, Codespaces y + para crear un nuevo espacio de código.
Cuando el contenedor termine de compilarse, confirme que ve Codespaces en la esquina inferior izquierda del explorador y vea el repositorio de ejemplo.
Los archivos clave de configuración de codespace son devcontainer.json, Dockerfile y docker-compose.yml. Para más información, consulte Introducción a GitHub Codespaces.
Sugerencia
También puede ejecutar el codespace en Visual Studio Code. Seleccione Codespaces en la esquina inferior izquierda del explorador o (
Ctrl
+Shift
+P
/Ctrl
+Command
+P
) y escriba "Codespaces". A continuación, seleccione Abrir en VS Code. Además, si detiene el espacio de código y vuelve al repositorio y vuelve a abrirlo en GitHub Codespaces, tiene la opción de abrirlo en VS Code o en un explorador.Seleccione el archivo .env.devcontainer y cree una copia denominada .env con el mismo contenido.
El .env contiene variables de entorno que se usan en el código para conectarse a la base de datos.
Si aún no está abierta una ventana de terminal, abra una; para ello, abra la paleta de comandos (
Ctrl
+Shift
+P
/Ctrl
+Command
+P
), escriba "Terminal: Crear nuevo terminal" y selecciónela para crear un nuevo terminal.Seleccione la pestaña PUERTOS en la ventana del terminal para confirmar que PostgreSQL se está ejecutando en el puerto 5432.
En la ventana del terminal, ejecute la aplicación FastAPI.
uvicorn main:app --reload
Seleccione la notificación Abrir en el explorador.
Si no ve o no ha perdido la notificación, vaya a PUERTOS y busque la dirección local del puerto 8000. Use la dirección URL que aparece allí.
Agregue /docs al final de la dirección URL de vista previa para ver la interfaz de usuario de Swagger, lo que le permite probar los métodos de API.
Los métodos de API se generan a partir de la interfaz openAPI que FastAPI crea a partir del código.
En la página Swagger, ejecute el método POST para agregar un restaurante.
Expanda el método POST .
Haga clic en Probar.
Rellene el cuerpo de la solicitud.
{ "name": "Restaurant 1", "address": "Restaurant 1 address" }
Seleccione Ejecutar para confirmar el cambio.
Conexión a la base de datos y visualización de los datos
Vuelva a GitHub Codespace para el proyecto, seleccione la extensión SQLTools y, a continuación, seleccione Base de datos local para conectarse.
La extensión SQLTools debe instalarse cuando se crea el contenedor. Si la extensión SQLTools no aparece en la barra de actividad, cierre el espacio de código y vuelva a abrirlo.
Expanda el nodo Base de datos local hasta que encuentre la tabla restaurants, luego seleccione Mostrar registros de la tabla.
Deberías ver el restaurante que agregaste.
Limpieza
Para dejar de usar el espacio de código, cierre el explorador. (O bien cierre VS Code si lo abrió de esa manera).
Si planea volver a usar el espacio de código, puede mantenerlo. Solo los codespaces en ejecución incurren en cargos de CPU. Un espacio de código detenido solo conlleva costes de almacenamiento.
Si desea quitar el espacio de código, vaya a https://github.com/codespaces para administrar los espacios de código.