Información general
¡Continúe la misión! En este laboratorio, continuará construyendo un generador de dosieres de misiones mediante DynamoDB. Esta es la segunda parte de una serie de laboratorios de tres partes. Ya ha creado una tabla de DynamoDB y ha configurado IAM en la primera parte. En la segunda, parte de este laboratorio, creará y probará funciones Lambda que interactúan con DynamoDB y recuperan datos de varias formas diferentes. A continuación, probará sus nuevas funciones. En la tercera parte, publicará la aplicación, mediante todas las habilidades de DynamoDB que aprenda a través de los tres laboratorios, y enviará a su equipo de superhéroes a salvar el mundo.
Temas tratados
Al final de este laboratorio, podrá hacer lo siguiente:
- Crear funciones Lambda que recuperan datos de una tabla de DynamoDB de dos formas diferentes
- Probar las funciones Lambda con una plantilla
- Configurar pruebas personalizadas para las funciones Lambda
Requisitos previos
Debe familiarizarse con los conceptos clave mediante el laboratorio: Introducción a Amazon DynamoDB.
Esta es la segunda de una serie de laboratorios de tres partes. Cada uno de los tres laboratorios puede ser independiente, pero dado que los laboratorios se basan en lo que aprendió anteriormente, debería realizar Aplicaciones web sin servidor con Amazon DynamoDB - Parte 1 antes de realizar este laboratorio.
Otros servicios de AWS
Una política de IAM desactiva los productos de AWS que no son necesarios para este laboratorio durante su tiempo de acceso a este laboratorio. Además, las capacidades de los servicios utilizados para este laboratorio están limitadas según los requisitos de este e incluso, en algunos casos, de forma deliberada como parte del diseño del laboratorio. Espere recibir mensajes de error cuando acceda a otros servicios o cuando lleve a cabo acciones que no consten en la guía de este laboratorio.
Amazon DynamoDB
Amazon DynamoDB es un servicio de base de datos NoSQL ágil y flexible para todas las aplicaciones que necesiten una latencia constante en milisegundos de un solo dígito a cualquier escala. Se trata de una base de datos completamente administrada en la nube, compatible con modelos de almacén de valores-clave y de documentos. Su modelo de datos flexible y su rendimiento de confianza lo convierten en un complemento perfecto para aplicaciones móviles, web, de juegos, de tecnología publicitaria y de IoT, entre otras.
Puede utilizar Amazon DynamoDB para crear una tabla de base de datos capaz de almacenar y recuperar cualquier cantidad de datos, así como de satisfacer cualquier nivel de tráfico de solicitud. Amazon DynamoDB distribuye automáticamente los datos y el tráfico de la tabla por una cantidad suficiente de servidores como para administrar la capacidad de solicitud especificada por el cliente y la cantidad de datos almacenados, al mismo tiempo que mantiene un rendimiento uniforme y rápido.
Terminología de DynamoDB
Tables (Tablas) Al igual que otros sistemas de administración de bases de datos, DynamoDB almacena los datos en tablas. Una tabla es un conjunto de datos. Por ejemplo, en este laboratorio trabajará con una tabla denominada SuperMission, donde se almacena la información de las misiones. Items (Elementos) Cada tabla contiene varios elementos. Un elemento es un grupo de atributos que se identifica de forma única entre todos los demás elementos. En la tabla SuperMission, cada elemento representa información de las misiones. Attributes (Atributos) Cada elemento se compone de uno o más atributos. Un atributo es un componente fundamental de los datos que no es necesario seguir dividiendo. En la tabla SuperMission, los elementos tienen atributos como SuperHero, MissionStatus, Villain1, etc. Los atributos de DynamoDB se parecen en muchos aspectos a los campos o las columnas en otros sistemas de administración de bases de datos. Primary Key (Clave principal) Cuando crea una tabla, además del nombre de la tabla, debe especificar una clave principal para esta. Como en otras bases de datos, una clave principal en DynamoDB identifica de forma única a cada elemento de la tabla, de modo que no hay dos elementos que tengan la misma clave. Cuando agregue, actualice o elimine un elemento de la tabla, debe especificar los valores de los atributos de la clave principal de ese elemento. Los valores de clave son obligatorios; no puede omitirlos. DynamoDB admite dos tipos diferentes de claves principales: Partition Key (Clave de partición) y Partition Key and Sort Key (Clave de partición y clave de ordenación). Secondary Indexes (Índices secundarios) En DynamoDB, puede leer datos en una tabla proporcionando los valores de los atributos de la clave principal. Si desea leer los datos utilizando atributos no clave, puede utilizar un índice secundario para hacerlo. Después de crear un índice secundario en una tabla, puede leer datos del índice de la misma manera que lo hace desde la tabla. Al usar índices secundarios, sus aplicaciones pueden usar muchos patrones de consulta diferentes, además de acceder a los datos mediante valores de clave principal.
AWS Lambda
AWS Lambda es un servicio de cómputo que brinda capacidad de cómputo de tamaño modificable en la nube con el fin de facilitar la computación a escala web para los desarrolladores. Cargue su código en AWS Lambda y este servicio se encargará de aprovisionar y administrar los servidores que utiliza para ejecutar el código. AWS Lambda admite varios lenguajes de codificación: Node.js, Java o Python. Puede utilizar AWS Lambda de dos formas:
- Como servicio de cómputo basado en eventos, AWS Lambda ejecuta el código en respuesta a eventos, como la carga de archivos de imagen, como verá en este laboratorio.
- Como servicio de cómputo, permite ejecutar el código en respuesta a solicitudes HTTP mediante Amazon API Gateway o llamadas API.
AWS Lambda le transfiere los beneficios financieros de la escala de Amazon. Lambda solo ejecuta su código cuando es necesario y escala de forma automática, desde unas pocas solicitudes por día hasta miles por segundo. También facilita la creación de desencadenadores de procesamiento de datos para servicios de AWS como Amazon S3 y Amazon DynamoDB, el procesamiento de streaming de datos almacenados en Amazon Kinesis o la creación de su propio backend que opera según la escala, el rendimiento y la seguridad de AWS.