

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.

# Ejecución y depuración de funciones de Lambda directamente desde el código
<a name="serverless-apps-run-debug-no-template"></a>

Al probar la AWS SAM aplicación, puede optar por ejecutar y depurar solo la función Lambda y excluir otros recursos que defina AWS SAM la plantilla. Este enfoque implica el uso de la [CodeLens](https://code.visualstudio.com/blogs/2017/02/12/code-lens-roundup)función para identificar los controladores de funciones Lambda en el código fuente que se pueden invocar directamente.

Los controladores Lambda que detecta CodeLens dependen del lenguaje y del tiempo de ejecución que utilice para la aplicación.


|  Lenguaje/tiempo de ejecución | Criterios para identificar las funciones Lambda mediante indicadores CodeLens | 
| --- | --- | 
| C\# (dotnetcore2.1, 3.1; .NET 5.0) | La función tiene las siguientes características:[See the AWS documentation website for more details](http://docs.aws.amazon.com/es_es/toolkit-for-vscode/latest/userguide/serverless-apps-run-debug-no-template.html)La [extensión ms-dotnettools.csharp](https://marketplace.visualstudio.com/items?itemName=ms-dotnettools.csharp) (o cualquier extensión que proporcione símbolos de lenguaje para C\#) está instalada y habilitada. | 
| JavaScript/TypeScript (Node.js 12.x, 14.x) |  La función tiene las siguientes características:[See the AWS documentation website for more details](http://docs.aws.amazon.com/es_es/toolkit-for-vscode/latest/userguide/serverless-apps-run-debug-no-template.html)  | 
| Python (3,7, 3,8, 3,9, 3,10, 3,11, 3,12) |  La función tiene las siguientes características:[See the AWS documentation website for more details](http://docs.aws.amazon.com/es_es/toolkit-for-vscode/latest/userguide/serverless-apps-run-debug-no-template.html)La [extensión ms-python.python](http://marketplace.visualstudio.com/items?itemName=ms-python.python) (o cualquier extensión que proporcione símbolos de lenguaje para Python) está instalada y habilitada. | 
| Java (8, 8.al2, 11) |  La función tiene las siguientes características:[See the AWS documentation website for more details](http://docs.aws.amazon.com/es_es/toolkit-for-vscode/latest/userguide/serverless-apps-run-debug-no-template.html)La [extensión redhat.java](https://marketplace.visualstudio.com/items?itemName=redhat.java) (o cualquier extensión que proporcione símbolos de lenguaje para Java) está instalada y habilitada. Esta extensión requiere Java 11, independientemente del tiempo de ejecución de Java que utilice.<br />[El vscjava. vscode-java-debug](https://marketplace.visualstudio.com/items?itemName=vscjava.vscode-java-debug)La extensión (o cualquier extensión que proporcione un depurador de Java) está instalada y habilitada. | 
| Go (1.x) |  La función tiene las siguientes características:[See the AWS documentation website for more details](http://docs.aws.amazon.com/es_es/toolkit-for-vscode/latest/userguide/serverless-apps-run-debug-no-template.html)La [extensión golang.go](https://marketplace.visualstudio.com/items?itemName=golang.Go) está instalada, configurada y habilitada. | 

# Para ejecutar y depurar una aplicación sin servidor directamente desde el código de la aplicación




1. Para ver los archivos de su aplicación en el explorador de archivos de VS Code, seleccione **Ver**, **Explorador**.

1. Desde la carpeta de aplicaciones (por ejemplo, *my-sample-app*), expanda la carpeta de funciones (en este caso, *hello-world*) y abra el archivo. `app.js`

1. En el CodeLens indicador que identifica un controlador de funciones Lambda apto, elija. `Add Debug Configuration`  
![Acceda a la opción Añadir configuración de depuración en el CodeLens indicador de un controlador de funciones Lambda.](http://docs.aws.amazon.com/es_es/toolkit-for-vscode/latest/userguide/images/sam-codelens-lambda.png)

1. En la **paleta de comandos**, seleccione el tiempo de ejecución durante el cual se ejecutará la aplicación de AWS SAM .

1. 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 las aplicaciones en JavaScript, el valor predeterminado es. `app.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.  
![Configuración del archivo launch.json para invocar directamente las funciones de Lambda.](http://docs.aws.amazon.com/es_es/toolkit-for-vscode/latest/userguide/images/direct_invoke_config_updated_with_payload_field.png)

   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](serverless-apps-run-debug-config-ref.md).

1. 

   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 AWS SAM aplicaciones, se selecciona **AWS Toolkit** como canal de **salida** en el panel **de salida**).