Introducción a FastAPI: ejercicio

Autor: | Última modificación: 12 de abril de 2024 | Tiempo de Lectura: 3 minutos
Temas en este post: ,

Algunos de nuestros reconocimientos:

Premios KeepCoding

FastAPI es un framework web de alto rendimiento para la construcción de API en Python 3.6+. Veamos cómo funciona este framework por medio de ejercicio. Para ello, primero definamos qué es una API.

¿Qué es una API?

Para construir aplicaciones que sean escalables e interactivas, es necesario que estas sean capaces de comunicarse entre ellas. Por tanto, una API (abreviatura de Application Programming Interface) es una serie de reglas que facilita las comunicaciones entre aplicaciones. Estas aplicaciones pueden ser librerías de Python o servidores web, entre otros.

Una de las principales ventajas de una API es que el solicitante no necesita saber el funcionamiento interno de la aplicación ni el lenguaje en el que está desarrollado para poder responder y viceversa. Esto permite que diferentes servicios que usen distintas tecnologías se comuniquen de una manera estándar.

FastAPI: Ejercicio de aplicación

Ahora vamos a desarrollar una API en la que hagamos disponible cierta información a través de la misma para que pueda consultarse. Lo haremos empleando Python.

Para ello, utilizaremos uno de los frameworks de Python llamado fastAPI, que es el framework por excelencia que se utiliza para temas productivos, dado que es el más completo.

Vamos a ver unos ejemplos sencillos de cómo se utiliza y qué es lo que podemos ver. Luego, profundizaremos en cómo integrarlo dentro para que tenga la capacidad de leer un modelo.

Como siempre, lo primero que haremos es instalar dependencias:

#Instalar dependencias fastAPI
! pip install fastapi [all] pyngrok streamlit
fastAPI

Reiniciamos el kernel y continuamos.

¿Cómo definimos nuestra API? Básicamente hacemos un import, después creamos la aplicación, que va a ser lo que vamos a disponibilizar, y luego instanciamos el objeto de fastAPI.

Ahora mismo lo que haremos es crear un primer endpoint, es decir, un punto de entrada, que nos va a servir para consultar. Entonces, el que implementaremos es un get. El resultado de esta ruta va a ser simplemente un «Hello World».

#Ejercicio fastAPI de complejidad básica
%%writefile main.py

from fastapi import FastAPI

app = FastAPI ()

@app.get (" / ")
async def root ():
      return {"mesage": "Hello World"}
#Ejercicio fastAPI de mayor de complejidad
%%writefile main.py

from typing import Optional

from fastapi import FastAPI
from pydantic import BaseModel

class Indentity (BaseModel):
      name: str
      surname: Optional [str] = None

app = FastAPI ()

@app.get (" / ")
async def root ():
      return {"message": "Helo World"}

@app.post ("/testing")
async def testing (id: Indentity):
      if id.surname is None:
            message = f "Welcome to the API! My name is {id.name}"
      else: message = f "Welcome to the API! My name is {id.name} {id.surname}"
      return {"message": message}

Ahora, para probarlo, tenemos las celdas siguientes, que sirven para ejecutar un microservicio. El token que hemos puesto lo puedes cambiar si ingresas en ngrok con tu usuario y contraseña y le das a la opción «Your Authtoken»:

Introducción a FastAPI: ejercicio

Este es el código que podrás modificar. Lo que hace esto es montar un túnel, básicamente, ya que si quieres entrar desde Google en collab, necesitas una IP pública. Por tanto, esta celda lo que hace es permitirte el acceso público a una máquina que es privada.

Así pues, podemos acceder a la máquina que está en Google desde internet.

Levantamos el código:

import nest_asyncio
from pyngrok import ngrok, conf

conf.get_default ().auth_token = "25TtT902JbR7LogkJKxk70jhCz6_4Z6JeyChZAau4gkr2th42"

ngrok_tunnel = ngrok.connect (8000)
print ('Public URL:', ngrok_tunnel.public_url)
nest_asyncio.appy ()
Introducción a FastAPI: ejercicio
A esta URL le agregamos una barra inclinada (» / «) al final.

Ejecutamos la siguiente celda:

! uvicorn main:app --port 8000

Lo que veremos es que, si hemos levantado el túnel y ponemos la URL que nos ha dado como resultado en el navegador, con la barra al final, accedemos a la ruta del inicio, que es la que hemos generado, y nos devolverá un mensaje que dice «Hello World».

Por medio de esta URL podemos acceder al microservicio.

Puede que nos aparezca un mensaje detectando algún elemento malicioso, pero esto es porque la web no tiene certificados:

Introducción a FastAPI: ejercicio

De todos modos, hacemos clic en «visit this unsafe site» y nos aparecerá el siguiente mensaje, que ha sido el que hemos predeterminado:

Introducción a FastAPI: ejercicio

¿Qué sigue?

Si quieres seguir formándote en alguna de las numerosas temáticas del mundo del Big Data, en KeepCoding te ofrecemos la guía de grandes expertos para que, en unos pocos meses, te conviertas en un gran profesional IT. Échale un ojo al temario del Big Data, Inteligencia Artificial & Machine Learning Full Stack Bootcamp y descubre esta formación intensiva e íntegra que catapultará tu carrera. ¡Solicita ahora mismo más información y da el salto que transformará tu futuro!

Posts Relacionados

¡CONVOCATORIA ABIERTA!

Big Data, IA & Machine Learning

Full Stack Bootcamp

Clases en Directo | Profesores en Activo | Temario 100% actualizado