Con este codigo se ignoran todos los archivos, luego por función se van asignando. Lo he probado y funciona bien.
package:
individually: true
patterns:
- "!*/**"
- "!**"
Bienvenida
Creación de Aplicaciones Serverless Avanzadas en AWS
Mejorando Proyectos Serverless con Buenas Prácticas y Funcionalidades
Buenas prácticas en serverless
Integración de Servicios AWS en Proyectos Serverless Avanzados
Buenas Prácticas con Serverless Framework en AWS
Serverless no es solo lambda
Validación de Lógica de Negocio con API Gateway y JSON Schema
Integración de Servicios AWS en Arquitecturas Serverless
Subida Segura de Archivos a S3 usando URLs Firmadas
Creación y Configuración de Buckets S3 con CloudFormation
Generación de URLs firmadas con AWS Lambda y API Gateway
Lambda layers
Procesador de Imágenes Asíncrono con AWS Lambda y S3
Optimización de Lambda con Layers en AWS y Serverless Framework
Automatización de Lambda Layers con GitHub Actions y Serverless Framework
Asegurando nuestra app serverless
Seguridad en Aplicaciones Serverless con API Gateway y Custom Authorizers
Uso de API Keys en Serverless Framework y API Gateway
Creación de Custom Authorizers en AWS con Serverless Framework
Autorización Personalizada con AWS Lambda y Custom Authorizer
Conectando ApiGateway con SQS
Asincronismo y Lambda: Implementación en AWS Serverless
Suma de Likes Asíncrona con AWS Lambda y SQS
Implementación Asíncrona de Likes con AWS Lambda y DynamoDB
Bonus
Configuración de Dominios Personalizados en AWS API Gateway
Configuración de Dominios Personalizados con Serverless Framework
Experiencias y desafíos en el desarrollo con Serverless en AWS
Cierra del curso
Resumen del Curso Serverless en AWS
No tienes acceso a esta clase
¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera
Sumar likes a una aplicación es una funcionalidad común en las redes sociales y otras plataformas interactivas. Sin embargo, hacerlo de manera eficiente y segura requiere de un enfoque cuidadoso, especialmente cuando se trata de una base de datos que debe manejar grandes volúmenes de tráfico. En esta sección, exploraremos cómo implementar una lógica para sumar likes de forma asíncrona utilizando una función Lambda y Amazon DynamoDB.
Amazon DynamoDB es una base de datos NoSQL que ofrece características poderosas para manejar grandes volúmenes de datos con rapidez y eficiencia.
La función Lambda que crearemos será la encargada de recibir solicitudes y actualizarlas en DynamoDB. A continuación, se detalla el proceso paso a paso:
Primero, requerimos el SDK de Amazon, esencial para interactuar con DynamoDB desde la función Lambda:
const AWS = require('aws-sdk');
const dynamoDB = new AWS.DynamoDB.DocumentClient();
Incluimos una función sleep
para controlar la espera entre las operaciones:
const sleep = (milliseconds) => {
return new Promise(resolve => setTimeout(resolve, milliseconds));
};
Desde el cuerpo de la solicitud POST se extrae el ID que identificará al usuario en la base de datos:
const { id } = JSON.parse(event.body);
Usamos la capacidad de DynamoDB para incrementar de manera segura el número de likes:
await dynamoDB.update({
TableName: 'TablaDeUsuarios',
Key: { id },
UpdateExpression: 'ADD likes :inc',
ExpressionAttributeValues: { ':inc': 1 }
}).promise();
Después de implementar la función Lambda, es crucial probar su funcionalidad para asegurar su correcto funcionamiento y eficiencia.
Realizamos pruebas simulando el envío de múltiples "likes" para detectar cómo se comporta la base de datos bajo carga y verificar la resiliencia del sistema.
Esta aplicación de likes asíncrona y segura proporciona varios beneficios:
Con esta lógica y tecnología, podrás ofrecer una experiencia fluida y eficiente para los usuarios mientras mantienes tu sistema seguro y estable. Continúa explorando y mejorando tus conocimientos de programación en AWS y desarrollo de aplicaciones escalables y confiables. ¡Buen aprendizaje!
Aportes 1
Preguntas 1
Con este codigo se ignoran todos los archivos, luego por función se van asignando. Lo he probado y funciona bien.
package:
individually: true
patterns:
- "!*/**"
- "!**"
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?