23.11. Integración de API Gateway con AWS Lambda: automatización de implementaciones mediante AWS SAM o Serverless Framework

Página 97

Introducción

La integración de API Gateway con AWS Lambda es un paso crucial en el desarrollo de aplicaciones back-end utilizando Python. Esta integración permite a los desarrolladores crear, implementar y administrar API con un conjunto de funciones totalmente administrado. Para automatizar las implementaciones, podemos utilizar AWS SAM (AWS Serverless Application Model) o Serverless Framework.

API Gateway y AWS Lambda

API Gateway es un servicio que permite a los desarrolladores crear, publicar, mantener, monitorear y proteger API a cualquier escala. Actúa como una "puerta de entrada" a las aplicaciones, permitiendo a los usuarios acceder a los recursos que necesitan.

AWS Lambda, por otro lado, es un servicio que le permite ejecutar código sin aprovisionar ni administrar servidores. Puede ejecutar su código en respuesta a eventos, como cambios en los datos de un depósito de Amazon S3 o una actualización de una tabla de Amazon DynamoDB.

AWS SAM (modelo de aplicación sin servidor de AWS)

AWS SAM es un modelo de aplicación sin servidor que permite a los desarrolladores definir sus aplicaciones de una manera simple y concisa. Es una extensión de AWS CloudFormation que proporciona una sintaxis simplificada para expresar funciones de AWS Lambda, API de Amazon API Gateway, tablas de Amazon DynamoDB y otros recursos.

Marco sin servidor

Serverless Framework es una herramienta de código abierto que facilita el desarrollo y la implementación de aplicaciones sin servidor. Proporciona una manera sencilla de definir los recursos que necesita su aplicación y agruparlos en un servicio. Luego automatiza la implementación de esos recursos en la nube.

Integración de API Gateway con AWS Lambda

Para integrar API Gateway con AWS Lambda, debe configurar una función Lambda que se invocará cada vez que se realice una solicitud a su API. Luego deberá configurar API Gateway para reenviar solicitudes a esta función Lambda.

Usando AWS SAM

Con AWS SAM, puede definir su función Lambda y API en un único archivo de plantilla. Luego, AWS SAM creará los recursos necesarios y configurará la integración por usted. Aquí tienes un ejemplo de cómo puedes hacer esto:

Recursos:
  Función MyLambda:
    Tipo: AWS::Sin servidor::Función
    Propiedades:
      Controlador: index.handler
      Tiempo de ejecución: python3.7
      Eventos:
        MiApi:
          Tipo: API
          Propiedades:
            Ruta: /myapi
            Método: obtener

Este ejemplo define una función Lambda llamada "MyLambdaFunction" que se invoca cuando se realiza una solicitud GET a "/myapi".

Usando el marco sin servidor

Con Serverless Framework, también puede definir su función Lambda y su API en un solo archivo. Aquí tienes un ejemplo:

servicio: mi-servicio

proveedores:
  nombre: aws
  tiempo de ejecución: python3.7

funciones:
  miFunción:
    controlador: controlador.myHandler
    eventos:
      -http:
          camino: mi camino
          método: obtener

Este ejemplo define una función Lambda llamada "myFunction" que se invoca cuando se realiza una solicitud GET a "/mypath".

Conclusión

La integración de API Gateway con AWS Lambda es una parte esencial del desarrollo de aplicaciones back-end utilizando Python. Con AWS SAM o Serverless Framework, puede automatizar implementaciones y simplificar la administración de sus aplicaciones.

Ahora responde el ejercicio sobre el contenido:

¿Cuál es el propósito de integrar API Gateway con AWS Lambda en el desarrollo de aplicaciones backend utilizando Python?

¡Tienes razón! Felicitaciones, ahora pasa a la página siguiente.

¡Tú error! Inténtalo de nuevo.

Siguiente página del libro electrónico gratuito:

9823.12. Integración de API Gateway con AWS Lambda: seguridad y control de acceso con API Gateway

¡Obtén tu certificado para este curso gratis! descargando la aplicación Cursa y leyendo el libro electrónico allí. ¡Disponible en Google Play o App Store!

Disponible en Google Play Disponible en App Store

+ 6,5 millones
estudiantes

Certificado gratuito y
válido con código QR

48 mil ejercicios
gratis

Calificación de 4.8/5
en tiendas de aplicaciones

Cursos gratuitos de
vídeo, audio y texto.