Introducción a las pruebas en la nube con sam remote test-event - 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.

Introducción a las pruebas en la nube con sam remote test-event

Utiliza el comando sam remote test-event de la Interfaz de la línea de comando de AWS Serverless Application Model (CLI de AWS SAM) para acceder a los eventos de prueba compartibles y gestionarlos para sus funciones de AWS Lambda.

Para obtener más información sobre los eventos de prueba compartibles, consulta Eventos de prueba compartibles en la Guía para desarrolladores de AWS Lambda.

Para usar sam remote test-event, completa lo siguiente para instalar la CLI de AWS SAM:

Si ya tiene la CLI de AWS SAM instalada, te recomendamos que la actualice a la última versión de la CLI de AWS SAM. Para obtener más información, consulta Actualización de AWS SAM CLI.

Antes de usar sam remote test-event, se recomienda tener conocimientos básicos de lo siguiente:

Configura la CLI de AWS SAM para utilizar sam remote test-event.

Complete los pasos siguientes de configuración para usar el comando sam remote test-event de la CLI de AWS SAM.

  1. Configurar la CLI de AWS SAM para usar su Cuenta de AWS: los usuarios pueden acceder y administrar los eventos de prueba de Lambda compartibles dentro del mismo Cuenta de AWS. Para configurar la CLI de AWS SAM para usar su Cuenta de AWS, consulta Configuración de la AWS SAM de CLI.

  2. Configurar los permisos para los eventos de prueba compartibles: para acceder a los eventos de prueba compartibles y gestionarlos, debe tener los permisos adecuados. Para obtener más información, consulta los Eventos de prueba que se puedan compartir en la Guía para desarrolladores de AWS Lambda.

Uso del comando sam remote test-event

El comando sam remote test-event de la CLI de AWS SAM proporciona los siguientes subcomandos que puede usar para acceder a los eventos de prueba compartibles y administrarlos:

  • delete: eliminar el evento de prueba compartible del registro de esquemas de Amazon EventBridge.

  • get: conseguir un evento de prueba compartible del registro de esquemas de EventBridge.

  • list: enumerar los eventos de prueba compartibles existentes para una función del registro de esquemas de EventBridge.

  • put: guardar un evento de un archivo local en el registro de esquemas de EventBridge.

Para enumerar estos subcomandos usando la CLI de AWS SAM, ejecuta lo siguiente:

$ sam remote test-event --help

Eliminación de eventos de prueba compartibles

Puede eliminar un evento de prueba compartible usando el subcomando delete junto con lo siguiente:

  • Proporciona el nombre del evento de prueba compartible que se va a eliminar.

  • Proporciona un ID aceptable de la función de Lambda asociada al evento.

  • Si proporcionas el ID lógico de la función de Lambda, también debes proporcionar el nombre de la pila de AWS CloudFormation asociada a la función de Lambda.

A continuación, se muestra un ejemplo:

$ sam remote test-event delete HelloWorldFunction --stack-name sam-app --name demo-event

Para obtener una lista de las opciones que se pueden usar con el subcomando delete, consulta sam remote test-event delete. También puede ejecutar las siguientes operaciones desde la CLI de AWS SAM:

$ sam remote test-event delete --help

Obtención de eventos de prueba compartibles

Puedes obtener un evento de prueba compartible del registro de esquemas de EventBridge usando el subcomando get junto con lo siguiente:

  • Proporciona el nombre del evento de prueba compartible que se desea obtener.

  • Proporciona un ID aceptable de la función de Lambda asociada al evento.

  • Si proporcionas el ID lógico de la función de Lambda, también debes proporcionar el nombre de la pila de AWS CloudFormation asociada a la función de Lambda.

A continuación se muestra un ejemplo en el que se obtiene un evento de prueba compartible llamado demo-event que está asociado a la función de Lambda HelloWorldFunction de la pila de sam-app. Este comando imprimirá el evento en la consola.

$ sam remote test-event get HelloWorldFunction --stack-name sam-app --name demo-event

Para obtener un evento de prueba compartible y guardarlo en su equipo local, utiliza la opción --output-file y proporciona una ruta de archivo y un nombre. A continuación se muestra un ejemplo que guarda demo-event como demo-event.json en el directorio de trabajo actual:

$ sam remote test-event get HelloWorldFunction --stack-name sam-app --name demo-event --output-file demo-event.json

Para obtener una lista de las opciones que se pueden usar con el subcomando get, consulta sam remote test-event get. También puede ejecutar las siguientes operaciones desde la CLI de AWS SAM:

$ sam remote test-event get --help

Enumeración de eventos de prueba compartibles

Puede enumerar todos los eventos de prueba compartibles para una función de Lambda concreta desde el registro de esquemas. Utiliza el subcomando list junto con lo siguiente:

  • Proporciona un ID aceptable de la función de Lambda asociada a los eventos.

  • Si proporcionas el ID lógico de la función de Lambda, también debes proporcionar el nombre de la pila de AWS CloudFormation asociada a la función de Lambda.

A continuación se muestra un ejemplo en el que se obtiene una lista de todos los eventos de prueba compartibles asociados con la función de Lambda HelloWorldFunction de la pila de sam-app.

$ sam remote test-event list HelloWorldFunction --stack-name sam-app

Para obtener una lista de las opciones que se pueden usar con el subcomando list, consulta sam remote test-event list. También puede ejecutar las siguientes operaciones desde la CLI de AWS SAM:

$ sam remote test-event list --help

Almacenamiento de eventos de prueba compartibles

Puede guardar los eventos de prueba compartibles del registro de esquemas de EventBridge. Utiliza el subcomando put junto con lo siguiente:

  • Proporciona un identificador aceptable de la función de Lambda asociada al evento de prueba compartible.

  • Proporciona un nombre para el evento de prueba compartible.

  • Proporciona la ruta del archivo y el nombre del evento local que desee cargar.

El siguiente es un ejemplo que guarda el evento demo-event.json local como demo-event y lo asocia a la función de Lambda HelloWorldFunction de la pila de sam-app:

$ sam remote test-event put HelloWorldFunction --stack-name sam-app --name demo-event --file demo-event.json

Si existe un evento de prueba que se pueda compartir con el mismo nombre en el registro de esquemas de EventBridge, la CLI de AWS SAM no lo sobrescribirá. Para sobrescribir, añada la opción --force a su comando.

Para obtener una lista de las opciones que se pueden usar con el subcomando put, consulta sam remote test-event put. También puede ejecutar las siguientes operaciones desde la CLI de AWS SAM:

$ sam remote test-event put --help

Uso de eventos de prueba compartibles

Utiliza eventos de prueba compartibles para probar las funciones de Lambda en la Nube de AWS con el comando sam remote invoke. Para obtener más información, consulta Transfiera eventos de prueba que se puedan compartir a una función de Lambda en la nube.

Gestion de eventos de prueba compartibles

Este tema contiene ejemplos sobre cómo administrar y usar los eventos de prueba compartibles.

Obtén un evento de prueba compartible, modifíquelo y úselo

Puedes obtener un evento de prueba compartible del registro de esquemas de EventBridge, modificarlo localmente y utilizar el evento de prueba local con la función de Lambda en la Nube de AWS. A continuación, se muestra un ejemplo:

  1. Recuperar el evento de prueba compartible: utiliza el subcomando sam remote test-event get para recuperar un evento de prueba compartible para una función de Lambda específica y guárdalo localmente:

    $ sam remote test-event get HelloWorldFunction --stack-name sam-app --name demo-event --output-file demo-event.json
  2. Modifica el evento de prueba compartible: utiliza un editor de texto de tu elección para modificar el evento de prueba compartible.

  3. Usar el evento de prueba compartible: usa el sam remote invoke comando y proporciona la ruta del archivo y el nombre del evento con: --event-file

    $ sam remote invoke HelloWorldFunction --stack-name sam-app --event-file demo-event.json

Obtén un evento de prueba compartible, modifíquelo, cárguelo y úselo

Puedes obtener un evento de prueba compartible del registro de esquemas de EventBridge, modificarlo localmente y cargarlo. A continuación, puede pasar el evento de prueba compartible directamente a la función de Lambda en la Nube de AWS. A continuación, se muestra un ejemplo:

  1. Recuperar el evento de prueba compartible: utiliza el subcomando sam remote test-event get para recuperar un evento de prueba compartible para una función de Lambda específica y guárdalo localmente:

    $ sam remote test-event get HelloWorldFunction --stack-name sam-app --name demo-event --output-file demo-event.json
  2. Modifica el evento de prueba compartible: utiliza un editor de texto de tu elección para modificar el evento de prueba compartible.

  3. Cargar el evento de prueba compartible: usa el subcomando sam remote test-event put para cargar y guardar el evento de prueba compartible en el registro de esquemas de EventBridge. En este ejemplo, utilizamos la opción --force para sobrescribir una versión anterior de nuestra prueba compartible.

    $ sam remote test-event put HelloWorldFunction --stack-name sam-app --name demo-event --file demo-event.json --force
  4. Pase el evento de prueba compartible a la función de Lambda: utiliza el comando sam remote invoke para pasar el evento de prueba compartible directamente a la función de Lambda en la Nube de AWS:

    $ sam remote invoke HelloWorldFunction --stack-name sam-app --test-event-name demo-event