Notas para implementar una API con FAST API y desplegarla en
aws Lambda
1. Crear la carpeta del proyecto
2. Crear el virtual enviroment con py -m venv env
3. se activa el entorno con env/Scripts/activate
4. Instalar librerías fastapi uvicorn y mangum con pip
install fastapi uvicorn mangum
5. Creamos el archivo de requirements con pip freeze >
requirements.txt
6. se genera la API en el archivo main.py, por ejemplo
from
fastapi import FastAPI
from mangum
import Mangum
app =
FastAPI()
handler =
Mangum(app)
@app.get("/")
async def
hello():
return {"message": "Hello
From SmartGeeks"}
7. Se inicializa el servidor con
uvicorn main:app --reload
8. se verifica el
funcionamiento de la API en 127.0.0.1/docs
9. se genera la
carpeta de dependencias o librerías con pip
install -t lib -r requirements.txt
10. se comprime el
contenido de la carpeta dependencias con
Compress-Archive lib/*
lambda_function.zip en windows en linux o mac (cd dependencies; zip
../aws_lambda_artifact.zip -r)
11. se agrega el
archivo main.py a la carpeta comprimida con Compress-Archive main.py
-update aws_lambda_artifact.zip
12. Se ingresa a
la consola de aws
13. Se ingresa a
lambda y se crea una función desde cero, se selecciona el nombre de la función,
se selecciona python.3.11, en opciones avanzadas se selecciona habilitar la url
de la función y se marca en tipo de autorización NONE luego clic en crear la función
14. luego se va a
la opción código, cargar desde y se selecciona archivo.zip -- se carga el
archivo generado llamado lambda_function
15. se va a la configuración
de tiempo de ejecución y editar y allí en controlador se pone main.handler
16. se va a información
general de la función, descripción, URL de la función y clic allí y listo
No hay comentarios:
Publicar un comentario