Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Proceso de eventos de DynamoDB con AWS SAM
Con esta aplicación de ejemplo, se basa en lo aprendido en la información general y en la guía de inicio rápido, e instala otra aplicación de ejemplo. Esta aplicación consta de una función de Lambda invocada por un origen de eventos de tabla de DynamoDB. La función de Lambda es muy sencilla: registra los datos que se han transferido a través del mensaje de origen del evento.
En este ejercicio se muestra cómo imitar los mensajes de origen de eventos que se pasan a las funciones de Lambda cuando se invocan.
Antes de empezar
Asegúrate de que ha realizado la configuración requerida en el Instala la AWS SAM CLI.
Paso 1: Inicializar la aplicación
En esta sección, se descarga el paquete de aplicación, que consta de una plantilla de AWS SAM y el código de aplicación.
Para inicializar la aplicación
-
Ejecuta el siguiente comando en un indicador de comandos de la AWS SAM CLI .
sam init \ --location gh:aws-samples/cookiecutter-aws-sam-dynamodb-python \ --no-inputTenga en cuenta que
gh:en el comando anterior se expande a la URL de GitHubhttps://github.com/. -
Revisa el contenido del directorio creado por el comando (
dynamodb_event_reader/):-
template.yaml: define dos recursos de AWS que necesita la aplicación Read DynamoDB, esto es, una función de Lambda y una tabla de DynamoDB. La plantilla también define el mapeo entre los dos recursos. -
Directorio de
read_dynamodb_event/: contienes el código de la aplicación DynamoDB.
-
Paso 2: probar la aplicación localmente
Para realizar pruebas locales, utiliza el CLI de la AWS SAM para generar un ejemplo de evento de DynamoDB e invocar la función de Lambda:
sam local generate-event dynamodb update | sam local invoke --event - ReadDynamoDBEvent
El comando generate-event crea un mensaje de origen del evento de prueba, como los mensajes que se crean cuando todos los componentes se implementan en la nube de AWS. Este mensaje de origen de eventos se canaliza a la función de Lambda readDynamoDBEvesnt.
Comprueba que los mensajes esperados se impriman en la consola, en función del código fuente en app.py.
Paso 3: crear el paquete de la aplicación
Tras testear la aplicación de forma local, se utiliza el CLI de AWS SAM para crear un paquete de implementación, que se utiliza para desplegar la aplicación en la nube de AWS.
Creación del paquete de implementación de Lambda
-
Crea un bucket de S3 en la ubicación donde desea guardar el código empaquetado. Si quieres utilizar un bucket de S3 existente, omite este paso.
aws s3 mb s3://bucketname -
Crea el paquete de implementación ejecutando el siguiente comando
packageCLI en el indicador de comandos.sam package \ --template-file template.yaml \ --output-template-file packaged.yaml \ --s3-bucketbucketnameEl nuevo archivo de plantilla,
packaged.yaml, se especifica al implementar la aplicación en el siguiente paso.
Paso 4: implementación de la aplicación
Ahora que ha creado el paquete de implementación, puedes utilizarlo para implementar la aplicación en la AWS nube. A continuación, pruebe la aplicación.
Para implementar la aplicación sin servidor en la nube de AWS
-
En la CLI de AWS SAM, utiliza el comando de la CLI
deploypara implementar todos los recursos que usted definió en la plantilla.sam deploy \ --template-file packaged.yaml \ --stack-name sam-app \ --capabilities CAPABILITY_IAM \ --regionus-east-1En el comando, el parámetro
--capabilitiespermite a AWS CloudFormation crear un rol de IAM.CloudFormation crea los recursos de AWS que se definen en la plantilla. Puedes acceder a los nombres de estos recursos en la CloudFormation consola.
Para probar la aplicación sin servidor en la nube de AWS
-
Abre la consola de DynamoDB.
-
Inserte un registro en la tabla que acaba de crear.
-
Vaya a la pestaña Métricas de la tabla y selecciona Ver todas las métricas de CloudWatch. En la consola de CloudWatch, elige Registros para poder ver los resultados del registro.
Pasos a seguir a continuación
Para conocer más sobre AWS SAM, consulta los siguientes recursos:
-
Muestras de aplicaciones de AWS SAM
: el repositorio de GitHub de AWS SAM contiene aplicaciones de muestra adicionales para que las descargue y las pueda probar. -
Serverless Land
: sitio que reúne patrones sin servidor, ejemplos de código y recursos de aprendizaje específicos para aplicaciones de AWS SAM.