Cómo desplegar una función de Azure Functions con FastAPI y GitHub
- Daniel J. Saldaña
- 2 de agosto de 2024
-
-
- Puntuación de feedback
-
En este post, te explicaré cómo crear y desplegar una función de Azure Functions manualmente utilizando FastAPI y cómo integrar el proceso de creación con un repositorio de código de GitHub.
Paso 1: Configuración inicial de Azure Functions
-
Crea una cuenta de Azure: Si no tienes una cuenta de Azure, puedes crear una en azure.com.
-
Instala las herramientas de Azure:
- Azure CLI: Instalación de Azure CLI
- Azure Functions Core Tools: Instalación de Azure Functions Core Tools
Paso 2: Crear una función de Azure Functions desde el portal de Azure
-
Inicia sesión en el Portal de Azure.
-
Crea un nuevo recurso de Azure Functions:
- Navega a “Crear un recurso” y busca “Function App”.
- Haz clic en “Crear”.
-
Configura la aplicación de funciones:
- Detalles del proyecto: Selecciona tu suscripción y crea un nuevo grupo de recursos si no tienes uno.
- Detalles de la instancia: Proporciona un nombre único para tu aplicación de funciones.
- Publicación: Selecciona “Código”.
- Pila de tiempo de ejecución: Selecciona “Python” y la versión que prefieras.
- Región: Selecciona la región más cercana a ti o la que prefieras.
-
Configuración del hosting:
- Selecciona un plan de hosting y configuración del almacenamiento.
- Configura las opciones de red si es necesario.
-
Configuración de supervisión:
- Configura Application Insights si deseas monitorear el rendimiento de tu función.
-
Configuración de implementación continua:
- Habilita la configuración de implementación continua para desplegar el código desde GitHub utilizando GitHub Actions.
Paso 3: Configurar la implementación continua desde GitHub
-
Configuración de GitHub:
- Cuenta de GitHub: Conecta tu cuenta de GitHub.
- Organización: Selecciona la organización.
- Repositorio: Selecciona el repositorio donde se encuentra tu código.
- Rama: Selecciona la rama desde la cual deseas desplegar.
-
Configuración del flujo de trabajo:
- Haz clic en el botón para obtener una vista previa del archivo de flujo de trabajo de GitHub Actions.
- Asegúrate de que el flujo de trabajo se vea correcto y luego confirma la configuración.
-
Configuración de autenticación:
- Autenticación básica: Puedes habilitar o deshabilitar la autenticación básica según tus necesidades.
Paso 4: Integrar FastAPI con Azure Functions
- Código de FastAPI:
Asegúrate de que tu archivo
main.py
contenga el siguiente código:
-
Archivo
function_app.py
: Crea un archivofunction_app.py
con el siguiente contenido: -
Estructura de archivos: Asegúrate de que tu proyecto tenga la siguiente estructura de archivos:
-
Archivo
host.json
: Asegúrate de que tu archivohost.json
tenga la siguiente configuración: -
Archivo
requirements.txt
: Asegúrate de que tu archivorequirements.txt
incluya las dependencias necesarias:
Paso 5: Desplegar la función
-
Empuja el código a GitHub: Asegúrate de que todo tu código esté empujado a la rama seleccionada en GitHub.
-
Verifica la implementación: GitHub Actions se encargará de desplegar automáticamente tu aplicación de funciones en Azure cada vez que realices cambios en el repositorio. Puedes monitorear el progreso desde la pestaña de Actions en tu repositorio de GitHub.
-
Probar la función:
- URL de la API: API-DanielJSaldaña
- Documentación Swagger: DOCS-DanielJSaldaña
¡Y eso es todo! Ahora tienes una función de Azure Functions desplegada con FastAPI y GitHub Actions.