Creando un Backend Serverless

En este taller vamos a utilizar AWS Lambda y Amazon DynamoDB para crear nuestro backend sin servidor.

Image for post
Image for post

Uno de las características de AWS Lambda es la facilidad con la que se puede integrar con otros servicios de AWS.

En este articulo aprenderemos a crear una tabla en DynamoDB e implementar una función Lambda que nos va a permitir obtener registros de nuestra tabla creada en DynamoDB.

A continuación se muestra las tareas que se van a realizar :

  • Crear una tabla de Amazon DynamoDB.
  • Crear un rol de IAM para la función Lambda.
  • Crear una función Lambda para administrar las solicitudes.
  • Probar la implementación de nuestra función.
  • Elija Services > DynamoDB.
  • Seleccionar Create Table.
  • Table Name: Customer
  • Primary Key : customer_id
  • Table settings : Seleccione la casilla Use default settings y elija Create.
Image for post
Image for post

Desplácese hasta la parte inferior de la sección Overview de la nueva tabla y anote el ARN. Lo usaremos luego a la hora de crear nuestro Rol.

Image for post
Image for post
  • Ahora vamos a registrar información en nuestra Tabla.
  • Crearemos un archivo json con el siguiente esquema:
  • Mediante el siguiente comando vamos a registrar toda la información del archivo en nuestra tabla.(previamente a ver instalado y configurado su aws cli)
  • aws dynamodb batch-write-item — request-items file://customer-data.json
Image for post
Image for post
  • Elija Services > IAM
  • Seleccionar Roles>Create rol
  • Seleccionar Lambda>Next:Permissions
  • Filter policies : AWSLambdaBasicExecutionRole
Image for post
Image for post
  • Seleccionar Next: Tags >Next: Review
  • Role name: CustomerLambda
  • Seleccionar Create role.
  • Escriba CustomerLambda en el cuadro de filtro de la pagina de Rol.
  • Seleccione el rol y añada Add inline policy
  • Seleccione Service : DynamoDB
  • En Actions : Query
  • En Resources >Specific > Add ARN y añadir el ARN de la tabla creada anteriormente.
  • click en Review policy.
  • Name : DynamoDBReadAccess
  • Create policy.
Image for post
Image for post
  • Elija Services > Lambda
  • Create Function
  • Function name : RequestCustomer
  • Runtime : Python 3.8
  • Permissions > Change default execution role
  • Use an existing role > CustomerLambda > Create function
  • Desplácese hasta la sección Function code y reemplace el código por el siguiente:
  • Luego en la parte Environment variables añadir las siguientes 02 variables que se van a utilizar en la función:
  • DEPLOY_REGION : us-east-1
  • DYNAMO_TABLE_NAME : Customer
  • Ahora vamos a implementar un test para nuestra función.
  • En la pantalla principal seleccionar Configure test events
  • Seleccionar Create new test event
  • Event Name : DemoTest
  • Copie y pegue el siguiente evento de prueba en el editor:
  • Hacer click en Create.
  • Haga clic en Test con la opción DemoTest seleccionada en el menú desplegable.
Image for post
Image for post
  • Desplácese hacia la parte superior de la página y amplíe la sección Details de la sección Execution result.
  • Compruebe que la ejecución del test se ha realizado correctamente y que el resultado de la función sea similar al que se muestra en la figura:
Image for post
Image for post

Espero que te pueda ser útil este tutorial.

Si tienes algún duda ,comentario, puedes escribirme a mi LinkedIn.

💯✔️☁️x2 AWS Certified (Solutions Architect, Developer) | OCA Java 8 | Software Engineer ✔️☁️

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store