viernes, 15 de septiembre de 2023

Como crear una API con FastaPI y como desplegarla en Lambda de AWS

 

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