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:
-
En el AWS Toolkit for Visual Studio Code, expanda el Explorador de AWS.
-
En el Explorador de AWS, expanda Lambda para ver los recursos de Lambda.
-
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.
-
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.
-
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.
-
En el AWS Toolkit for Visual Studio Code, expanda el Explorador de AWS.
-
En el Explorador de AWS, expanda Lambda para ver los recursos de Lambda.
-
Haga clic con el botón derecho en la función de Lambda que desee eliminar y, a continuación, elija Eliminar.
-
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.
-
En el AWS Toolkit for Visual Studio Code, expanda el Explorador de AWS.
-
En el Explorador de AWS, expanda Lambda para ver los recursos de Lambda.
-
Haga clic con el botón derecho en la función de Lambda que desee descargar y, a continuación, elija Descargar.
-
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
-
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.
-
Guárdelo de forma manual desde el menú principal de VS Code, o bien pulse
option+s(Mac) octrl+s(Windows). -
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.
-
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
-
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.
-
En el kit de herramientas de AWS, expanda el Explorador de AWS.
-
En el Explorador de AWS, expanda la región de AWS con la función de Lambda para la que desea implementar los cambios.
-
En la región de AWS, expanda Lambda y navegue por la función para la que desea implementar los cambios.
-
En el menú rápido situado junto a la función, elija el icono Guardar e implementar el código.
-
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
-
En el AWS Toolkit for Visual Studio Code, expanda el Explorador de AWS.
-
En el Explorador de AWS, expanda Lambda para ver los recursos de Lambda.
-
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.
-
Elija Archivo ZIP para localizar el
ZIP Archiveen el directorio local. -
Cuando se le solicite, confirme la carga para iniciar la carga del
ZIP Archiveseleccionado. -
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
-
En el AWS Toolkit for Visual Studio Code, expanda el Explorador de AWS.
-
En el Explorador de AWS, expanda Lambda para ver los recursos de Lambda.
-
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.
-
Elija Directorio para ir a la pantalla Directorio de compilación.
-
En la pantalla Directorio de compilación, seleccione No con el fin de elegir un directorio local para la carga.
-
Cuando se le solicite, confirme la carga para cargar el directorio seleccionado.
-
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.
-
En el AWS Toolkit for Visual Studio Code, expanda el Explorador de AWS.
-
En el Explorador de AWS, expanda Lambda para ver los recursos de Lambda.
-
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.
-
Elija Directorio para ir a la pantalla Directorio de compilación.
-
En la pantalla Directorio de compilación, elija Sí y, a continuación, seleccione un directorio local para la carga.
-
Cuando se le solicite, confirme la carga para empezar a compilar y cargar el directorio seleccionado.
-
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.
-
En el kit de herramientas de AWS, expanda el Explorador de AWS.
-
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.
-
En la región de AWS, expanda Lambda y navegue por la función que desea convertir en una pila de AWS SAM.
-
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.
-
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.
-
Cuando se lo solicite VS Code, ingrese un nombre de pila y, a continuación, presione la tecla
Enterpara continuar. -
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.