Ejecución y depuración de funciones de Lambda directamente desde el código
Al probar la aplicación de AWS SAM, puede optar por ejecutar y depurar solo la función de Lambda y excluir otros recursos definidos por la plantilla de AWS SAM. Este enfoque implica el uso de de la característica CodeLens
Los controladores de Lambda que detecta CodeLens dependen del lenguaje y el tiempo de ejecución que esté utilizando para su aplicación.
Lenguaje/tiempo de ejecución | Criterios para identificar las funciones de Lambda mediante los indicadores de CodeLens |
---|---|
C# (dotnetcore2.1, 3.1; .NET 5.0) |
La función tiene las siguientes características:
La extensión ms-dotnettools.csharp |
JavaScript/TypeScript (Node.js 12.x, 14.x) |
La función tiene las siguientes características:
|
Python (3.7, 3.8, 3.9, 3.10, 3.11) |
La función tiene las siguientes características:
La extensión ms-python.python |
Java (8, 8.al2, 11) |
La función tiene las siguientes características:
La extensión redhat.java La extensión vscjava.vscode-java-debug |
Go (1.x) |
La función tiene las siguientes características:
La extensión golang.go |
Para ejecutar y depurar una aplicación sin servidor directamente desde el código de la aplicación
-
Para ver los archivos de su aplicación en el explorador de archivos de VS Code, seleccione Ver, Explorador.
-
Desde la carpeta de la aplicación (por ejemplo, my-sample-app), expanda la carpeta de la función (en este caso, hello-world) y abra el archivo
app.js
. -
En el indicador de CodeLens que identifica un controlador de función de de Lambda válido, elija
Add Debug Configuration
. -
En la paleta de comandos, seleccione el tiempo de ejecución durante el cual se ejecutará la aplicación de AWS SAM.
-
En el editor del archivo
launch.json
, edite o confirme los valores de las siguientes propiedades de configuración:-
"name"
: ingrese un nombre fácil de leer para que aparezca en el campo desplegable Configuration (Configuración) de la vista Run (Ejecución). -
"target"
: asegúrese de que el valor es"code"
para que un controlador de funciones de Lambda se invoque directamente. -
"lambdaHandler"
: ingrese el nombre del método en el código al que Lambda llama para ejecutar su función. Por ejemplo, para aplicaciones en JavaScript, el valor predeterminado esapp.lambdaHandler
. -
"projectRoot"
: ingrese la ruta al archivo de aplicación que contiene la función de Lambda. -
"runtime"
: ingrese o confirme un tiempo de ejecución válido para el entorno de ejecución de Lambda; por ejemplo,"nodejs.12x"
. -
"payload"
. Elija una de las siguientes opciones para definir la carga del evento que desea proporcionar a la función de Lambda como entrada:-
"json"
: pares clave-valor con formato JSON que definen la carga del evento. -
"path"
: ruta al archivo que se utiliza como carga del evento.
En el siguiente ejemplo, la opción
"json"
define la carga útil. -
Para obtener más información sobre estas y otras entradas del archivo
launch.json
, consulte Opciones de configuración para depurar aplicaciones sin servidor. -
-
Si está satisfecho con la configuración de depuración, elija la flecha de reproducción verde junto a EJECUTAR para iniciar la depuración.
Cuando se inician las sesiones de depuración, el panel CONSOLA DE DEPURACIÓN muestra la salida de la depuración y los valores que devuelve la función de Lambda. (Al depurar aplicaciones de AWS SAM, el kit de herramientas de AWS se selecciona como el canal de Salida en el panel Salida).