Procese eventos de DynamoDB con AWS SAM - AWS Serverless Application Model

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.

Procese 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 la aplicación, que consta de una AWS SAM plantilla y un código de aplicación.

Para inicializar la aplicación
  1. Ejecuta el siguiente comando en un AWS SAM CLI indicador de comandos.

    sam init \ --location gh:aws-samples/cookiecutter-aws-sam-dynamodb-python \ --no-input

    Tenga gh: en cuenta que en el comando anterior se expande a la GitHub URLhttps://github.com/.

  2. Revisa el contenido del directorio creado por el comando (dynamodb_event_reader/):

    • template.yaml— Define dos AWS recursos que necesita la aplicación Read DynamoDB: una función 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 generate-event comando crea un mensaje fuente de eventos de prueba, como los mensajes que se crean cuando todos los componentes se implementan en la nube. AWS Este mensaje de origen de eventos se canaliza a la función ReadDynamo DBEvent Lambda.

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 probar la aplicación de forma local, se utiliza AWS SAMCLI para crear un paquete de despliegue, que se utiliza para desplegar la aplicación en la AWS nube.

Creación del paquete de implementación de Lambda
  1. 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
  2. Crea el paquete de implementación ejecutando el siguiente comando package CLI en el indicador de comandos.

    sam package \ --template-file template.yaml \ --output-template-file packaged.yaml \ --s3-bucket bucketname

    El 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 despliegue, lo utiliza para desplegar la aplicación AWS en la nube. A continuación, pruebe la aplicación.

Para implementar la aplicación sin servidor en la nube AWS
  • En AWS SAMCLI, utilice el comando deploy CLI para implementar todos los recursos que definió en la plantilla.

    sam deploy \ --template-file packaged.yaml \ --stack-name sam-app \ --capabilities CAPABILITY_IAM \ --region us-east-1

    En el comando, el parámetro --capabilities permite a AWS CloudFormation crear un rol de IAM.

    AWS CloudFormation crea los AWS recursos que se definen en la plantilla. Puede acceder a los nombres de estos recursos en la AWS CloudFormation consola.

Para probar la aplicación sin servidor en la nube AWS
  1. Abre la consola de DynamoDB.

  2. Inserte un registro en la tabla que acaba de crear.

  3. Ve a la pestaña Métricas de la tabla y selecciona Ver todas las CloudWatch métricas. En la CloudWatch consola, selecciona Registros para poder ver la salida del registro.

Pasos a seguir a continuación

Para seguir informándote sobre AWS SAM ellos, consulta los siguientes recursos:

  • AWS SAM aplicaciones de ejemplo: el AWS SAM GitHub repositorio contiene aplicaciones de ejemplo adicionales para que las descargue y experimente con ellas.

  • Serverless Land: sitio que reúne patrones sin servidor, ejemplos de código y recursos de aprendizaje específicos para aplicaciones AWS SAM.