Actualización de Usuarios en DynamoDB con Serverless Framework
Clase 16 de 25 • Curso de Serverless Framework en AWS
Resumen
¿Cómo integrar updates en una aplicación serverless con DynamoDB?
La integración y actualización de datos en una aplicación serverless con DynamoDB es un componente esencial que te permitirá tener un sistema CRUD totalmente funcional. Hasta este punto, hemos cubierto los métodos de creación y consulta. La lógica de actualización tiene sus propios matices, y aquí te llevaremos paso a paso para implementar el método update
usando Amazon DynamoDB con lambda functions.
¿Cómo estructurar el proyecto para implementar la función update?
Para comenzar, debes contar con una estructura de carpetas adecuada. Crea una carpeta llamada updateUsers
donde incluirás un archivo handler.js
. Es importante modificar el serverless.yml
para añadir una nueva función lambda que representará la funcionalidad de updateUsers
. Recuerda:
- Actualizar el nombre de la función: Cambia el nombre en el archivo de configuración
serverless.yml
. - Definir el handler correspondiente: Asegúrate de que el handler apunta al archivo
handler.js
dentro de tu carpetaupdateUsers
. - Seleccionar el método HTTP correcto: Según las buenas prácticas de DynamoDB, utiliza el método HTTP
PATCH
para las actualizaciones.
¿Cómo hacer el refactoring del código para el update?
Un punto crucial al implementar la función de update
es el refactoring del código base. A continuación, te explico cómo hacerlo:
-
Obtener los parámetros necesarios: La función toma un
ID
desde la URL y unbody
que contiene los datos que se deben actualizar.const userId = // obtener ID de la URL const body = JSON.parse(event.body); // parsear el body para usarlo
-
Configurar los params de DynamoDB: Adaptar los parámetros necesarios, incluyendo
UpdateExpression
,ExpressionAttributeNames
, yExpressionAttributeValues
.const params = { TableName: 'users_table', Key: { 'userId': userId }, UpdateExpression: 'SET #name = :name', ExpressionAttributeNames: { '#name': 'name' }, ExpressionAttributeValues: { ':name': body.name } };
-
Hacer el update llamado: Cambia la lógica para realizar la operación de
update
que incorpore los parámetros previamente configurados.
Esto te permitirá actualizar los datos según los inputs proporcionados en el body
de la solicitud.
¿Cómo desplegar la función lambda actualizada?
Una vez que tu lógica está lista, es hora de desplegar la función. Usa el comando serverless deploy
para iniciar el despliegue. Este proceso es sencillo y automatizado gracias a las capacidades del framework serverless.
Mira cómo se despliega una función lambda:
serverless deploy
Después de un despliegue exitoso, utiliza herramientas como Postman para verificar que la aplicación efectivamente realiza las actualizaciones sobre los registros de DynamoDB. Asegúrate de proporcionar el ID correcto y un body
en formato JSON.
¿Cuál es el siguiente paso?
Ahora que tienes una aplicación parcialmente completa con create
, read
, y update
, el siguiente paso será implementar la funcionalidad de delete
para completar el ciclo CRUD. Mantente atento a la próxima clase donde exploraremos cómo eliminar registros utilizando lambda functions.
En cada paso del camino, vamos construyendo un sistema cada vez más robusto y eficiente que se aprovecha de la escalabilidad y facilidad de implementación que AWS y el framework serverless ofrecen. ¡Sigue adelante y comparte tus experiencias con la comunidad!