Trabajo con funciones de AWS Lambda - Kit de herramientas de AWS para VS Code

Trabajo con funciones de AWS Lambda

El AWS Toolkit for Visual Studio Code permite trabajar con las funciones de AWS Lambda en el entorno local de VS Code. Con el kit de herramientas de AWS puede crear, editar, probar, depurar e implementar las funciones de Lambda sin tener que salir del entorno de desarrollo integrado (IDE). Para obtener información detallada sobre el servicio AWS Lambda, consulte la Guía para desarrolladores de AWS Lambda.

En las secciones siguientes se describe cómo empezar a trabajar con funciones de Lambda en el AWS Toolkit for Visual Studio Code.

nota

Si ya ha creado funciones de Lambda mediante la Consola de administración de AWS, puede invocarlas desde el kit de herramientas. Además, puede abrir las funciones de Lambda en VS Code desde la AWS Lambda console. Para obtener más información, consulte el tema De la AWS Lambda console al IDE de esta Guía del usuario. Para crear una función de Lambda en VS Code, siga los pasos que se describen en el tema Creación de una nueva aplicación sin servidor (local) de esta Guía del usuario.

Requisitos previos

Para trabajar con el servicio AWS Lambda en el kit de herramientas de AWS deben cumplirse las siguientes condiciones:

  • La última versión del AWS Toolkit for Visual Studio Code debe estar instalada y configurada con sus credenciales de AWS.

  • Sus políticas y permisos administrados de AWS Identity and Access Management (AWS IAM) están configurados para funcionar con el servicio AWS Lambda. Para obtener información detallada sobre cómo configurar los permisos y crear una política administrada de AWS compatible, consulte el tema AWS Identity and Access Management para AWS Lambda de la Guía para desarrolladores de AWS Lambda.

  • Ya dispone de funciones de AWS Lambda o se ha familiarizado con cómo crearlas. Para obtener instrucciones sobre cómo crear una función de Lambda, consulte el tema Creación de su primera función de Lambda de la Guía para desarrolladores de AWS Lambda.

Invocación de una función de Lambda

Para invocar una función de Lambda desde su cuenta de AWS en VS Code, complete los siguientes pasos:

  1. En el AWS Toolkit for Visual Studio Code, expanda el Explorador de AWS.

  2. En el Explorador de AWS, expanda Lambda para ver los recursos de Lambda.

  3. Abra el menú contextual (clic con el botón derecho) de la función de Lambda que desee invocar y, a continuación, elija Invocar en la nube o el icono Invocar en la nube para abrir el menú Remote invoke configuration en VS Code.

  4. En el menú Remote invoke configuration, especifique la configuración de Payload y agregue la información adicional que sea necesaria para el evento.

    nota

    Es posible que el primer proceso de invocación empiece a ejecutarse en cuanto elija Invocar en la nube en Explorador de AWS. El resultado se muestra en la pestaña Salida del terminal de VS Code.

  5. Elija el botón Remote Invoke para invocar la función. El resultado se muestra en la pestaña Salida del terminal de VS Code.

Eliminación de una función de Lambda

Para eliminar una función de Lambda, realice el procedimiento siguiente.

aviso

No utilice este procedimiento para eliminar las funciones de Lambda asociadas a CloudFormation. Estas funciones deben eliminarse a través de la pila de CloudFormation.

  1. En el AWS Toolkit for Visual Studio Code, expanda el Explorador de AWS.

  2. En el Explorador de AWS, expanda Lambda para ver los recursos de Lambda.

  3. Haga clic con el botón derecho en la función de Lambda que desee eliminar y, a continuación, elija Eliminar.

  4. Cuando se le solicite, confirme que desea eliminar la función.

Una vez eliminada la función, dejará de aparecer en el Explorador de AWS.

Descarga de una función de Lambda

Puede descargar código de una función de Lambda remota en su espacio de trabajo de VS Code para editarlo y depurarlo.

nota

Para descargar la función de Lambda, debe utilizar un espacio de trabajo de VS Code con una carpeta accesible; el kit de herramientas de AWS solo admite esta característica con funciones de Lambda que utilicen tiempos de ejecución de Node.js y Python.

  1. En el AWS Toolkit for Visual Studio Code, expanda el Explorador de AWS.

  2. En el Explorador de AWS, expanda Lambda para ver los recursos de Lambda.

  3. Haga clic con el botón derecho en la función de Lambda que desee descargar y, a continuación, elija Descargar.

  4. La función de Lambda se abre en el editor de VS Code y se muestra en el Explorador de AWS al completarse la descarga. El kit de herramientas de AWS también crea una configuración de lanzamiento en el panel de ejecución de VS Code que le permite ejecutar y depurar la función de Lambda de forma local con AWS Serverless Application Model. Para obtener más información acerca del uso de AWS SAM, consulte Ejecutar y depurar una aplicación sin servidor desde una plantilla (local).

Implementación de actualizaciones para nuevas funciones de Lambda

Puede implementar actualizaciones en las nuevas funciones de Lambda desde una ubicación temporal no especificada de su máquina local.

nota

Cuando haya cambios sin implementar en sus archivos de Lambda, recibirá una notificación mediante el icono M ubicado junto a los archivos modificados en el editor de VS Code y en el Explorador de AWS.

Implementación desde el editor de VS Code
  1. Abra uno de los archivos de su función de Lambda en el editor de VS Code y, a continuación, realice un cambio en el archivo.

  2. Guárdelo de forma manual desde el menú principal de VS Code, o bien pulse option+s (Mac) o ctrl+s (Windows).

  3. VS Code le pregunta de forma automática si desea implementar los cambios en la nube. Elija el botón Implementar para confirmar la implementación.

  4. VS Code le informa sobre el estado de la implementación y le envía una notificación una vez completado el proceso.

Implementación desde el Explorador de AWS
  1. Abra uno de los archivos de su función de Lambda en el editor de VS Code y, a continuación, realice un cambio en el archivo.

  2. En el kit de herramientas de AWS, expanda el Explorador de AWS.

  3. En el Explorador de AWS, expanda la región de AWS con la función de Lambda para la que desea implementar los cambios.

  4. En la región de AWS, expanda Lambda y navegue por la función para la que desea implementar los cambios.

  5. En el menú rápido situado junto a la función, elija el icono Guardar e implementar el código.

  6. VS Code le informa sobre el estado de la implementación y le envía una notificación una vez completado el proceso.

Carga de actualizaciones para las funciones de Lambda existentes

En los procedimientos siguientes se describe cómo cargar los cambios locales realizados en las funciones de Lambda existentes. Esta característica admite cargas con cualquier tiempo de ejecución compatible con Lambda.

aviso

Antes de cargar la función de Lambda, tenga en cuenta lo siguiente:

  • Al actualizar el código de esta manera, no se utiliza la CLI de AWS SAM para la implementación ni se crea una pila de CloudFormation.

  • El kit de herramientas de AWS no valida el código. Valide el código y pruebe las funciones antes de cargar los cambios en la nube.

Carga de un archivo Zip
  1. En el AWS Toolkit for Visual Studio Code, expanda el Explorador de AWS.

  2. En el Explorador de AWS, expanda Lambda para ver los recursos de Lambda.

  3. Haga clic con el botón derecho en la función de Lambda en la que desee cargar los cambios y, a continuación, elija Cargar Lambda… para abrir el menú Seleccionar tipo de carga.

  4. Elija Archivo ZIP para localizar el ZIP Archive en el directorio local.

  5. Cuando se le solicite, confirme la carga para iniciar la carga del ZIP Archive seleccionado.

  6. El estado de la carga se muestra en VS Code y recibirá una notificación una vez completado el proceso de carga.

Carga de un directorio sin compilación
  1. En el AWS Toolkit for Visual Studio Code, expanda el Explorador de AWS.

  2. En el Explorador de AWS, expanda Lambda para ver los recursos de Lambda.

  3. Haga clic con el botón derecho en la función de Lambda en la que desee cargar los cambios y, a continuación, elija Cargar Lambda… para abrir el menú Seleccionar tipo de carga.

  4. Elija Directorio para ir a la pantalla Directorio de compilación.

  5. En la pantalla Directorio de compilación, seleccione No con el fin de elegir un directorio local para la carga.

  6. Cuando se le solicite, confirme la carga para cargar el directorio seleccionado.

  7. El estado de la carga se muestra en VS Code y recibirá una notificación una vez completado el proceso de carga.

Carga de un directorio con una compilación
nota

Tenga en cuenta lo siguiente:

  • Este procedimiento requiere la CLI de AWS Serverless Application Model.

  • El kit de herramientas de AWS le avisa de que no se puede detectar un controlador coincidente antes de la carga.

  • Para cambiar el controlador asociado a la función de Lambda, utilice la AWS Lambda console o la AWS Command Line Interface.

  1. En el AWS Toolkit for Visual Studio Code, expanda el Explorador de AWS.

  2. En el Explorador de AWS, expanda Lambda para ver los recursos de Lambda.

  3. Haga clic con el botón derecho en la función de Lambda en la que desee cargar los cambios y, a continuación, elija Cargar Lambda… para abrir el menú Seleccionar tipo de carga.

  4. Elija Directorio para ir a la pantalla Directorio de compilación.

  5. En la pantalla Directorio de compilación, elija y, a continuación, seleccione un directorio local para la carga.

  6. Cuando se le solicite, confirme la carga para empezar a compilar y cargar el directorio seleccionado.

  7. El estado de la carga se muestra en VS Code y recibirá una notificación una vez completado el proceso de carga.

Conversión de la función de Lambda en un proyecto de AWS SAM

Para convertir la función de Lambda en una pila de AWS SAM, complete los siguientes pasos.

aviso

Actualmente, solo se admite un subconjunto de recursos al convertir una función de Lambda en un proyecto de AWS SAM. Para localizar los recursos que falten después de una conversión, compruebe la consola de Lambda y agréguelos de forma manual a la plantilla de AWS SAM. Para obtener más detalles sobre los recursos compatibles y no compatibles, consulte el tema Tipo de recurso compatible de la Guía para desarrolladores de AWS CloudFormation.

  1. En el kit de herramientas de AWS, expanda el Explorador de AWS.

  2. En el Explorador de AWS, expanda la región de AWS con la función de Lambda que quiera convertir en un proyecto de AWS SAM.

  3. En la región de AWS, expanda Lambda y navegue por la función que desea convertir en una pila de AWS SAM.

  4. En el menú rápido situado junto a la función de Lambda, elija el icono Convertir a aplicación de SAM a fin de navegar por el sistema de archivos local y especificar una ubicación para el nuevo proyecto de AWS SAM.

  5. Tras especificar una ubicación, el kit de herramientas de AWS comienza a convertir la función de Lambda en un proyecto de AWS SAM y VS Code ofrece actualizaciones sobre el estado del proceso.

    nota

    Este proceso puede demorar unos minutos.

  6. Cuando se lo solicite VS Code, ingrese un nombre de pila y, a continuación, presione la tecla Enter para continuar.

  7. VS Code continúa informándole sobre el estado del proyecto, le avisa una vez completado el proceso y abre su nuevo proyecto de AWS SAM como espacio de trabajo de VS Code.