

Esta es la guía para desarrolladores de AWS CDK v2. La primera versión del CDK pasó a la etapa de mantenimiento el 1.° de junio de 2022 y no cuenta con soporte desde el 1.° de junio de 2023.

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 locales
<a name="testing-locally-getting-started"></a>

En este tema se describe lo que se necesita para usar la CLI de AWS SAM con las aplicaciones de AWS CDK y se proporcionan instrucciones para crear y probar localmente una aplicación de AWS CDK sencilla.

## Requisitos previos
<a name="testing-locally-getting-started-prerequisites"></a>

Para realizar una prueba local, debe instalar la CLI de AWS SAM. Para obtener instrucciones de instalación, consulte [Instalación de la CLI de AWS SAM](https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/getting_started.html).

## Crear y probar localmente una aplicación de AWS CDK
<a name="testing-locally-getting-started-tutorial"></a>

Para probar localmente una aplicación de AWS CDK mediante la CLI de AWS SAM, debe tener una aplicación de AWS CDK que contenga una función de Lambda. Sigue los pasos siguientes para crear una aplicación de AWS CDK básica con una función de Lambda. Para obtener más información, consulta [Crear una aplicación sin servidor usando el AWS CDK](https://docs.aws.amazon.com/cdk/latest/guide/serverless_example.html) en la *Guía para desarrolladores de AWS Cloud Development Kit (AWS CDK)*.<a name="testing-locally-getting-started-tutorial-init"></a>

 **Paso 1: crear una aplicación de AWS CDK**   
Para este tutorial, inicializa una aplicación de AWS CDK que utilice TypeScript.  
Comando a ejecutar:  

```
$ mkdir cdk-sam-example
$ cd cdk-sam-example
$ cdk init app --language typescript
```<a name="testing-locally-getting-started-tutorial-lambda"></a>

 **Paso 2: Añadir una función de Lambda a la aplicación**   
Reemplace el código en `lib/cdk-sam-example-stack.ts` con lo siguiente:  

```
import { Stack, StackProps } from 'aws-cdk-lib';
import { Construct } from 'constructs';
import * as lambda from 'aws-cdk-lib/aws-lambda';

export class CdkSamExampleStack extends Stack {
  constructor(scope: Construct, id: string, props?: StackProps) {
    super(scope, id, props);

    new lambda.Function(this, 'MyFunction', {
      runtime: lambda.Runtime.PYTHON_3_12,
      handler: 'app.lambda_handler',
      code: lambda.Code.fromAsset('./my_function'),
    });
  }
}
```<a name="testing-locally-getting-started-tutorial-code"></a>

 **Paso 3: Añadir el código de la función de Lambda**   
Cree un directorio llamado `my_function`. En dicho directorio, cree un archivo llamado `app.py`.  
Comando a ejecutar:  

**Example**  

```
$ mkdir my_function
$ cd my_function
$ touch app.py
```

```
$ mkdir my_function
$ cd my_function
$ type nul > app.py
```

```
$ mkdir my_function
$ cd my_function
$ New-Item -Path "app.py”
```
Añada el siguiente código a `app.py`:

```
def lambda_handler(event, context):
    return "Hello from SAM and the CDK!"
```<a name="testing-locally-getting-started-tutorial-function"></a>

 **Paso 4: comprobación de la función de Lambda**   
Puede utilizar la CLI de AWS SAM para invocar localmente una función de Lambda que defina en una aplicación de AWS CDK. Para hacerlo, necesitarás el identificador de constructo de la función que desee invocar y la ruta a la plantilla de AWS CloudFormation sintetizada.  
Ejecute el siguiente comando y vuelva al directorio `lib`:  

```
$  cd ..
```
 **Comando a ejecutar:**   

```
$  cdk synth --no-staging
```

```
$  sam local invoke MyFunction --no-event -t ./cdk.out/CdkSamExampleStack.template.json
```
 **Ejemplo del resultado:**   

```
Invoking app.lambda_handler (python3.9)

START RequestId: 5434c093-7182-4012-9b06-635011cac4f2 Version: $LATEST
"Hello from SAM and the CDK!"
END RequestId: 5434c093-7182-4012-9b06-635011cac4f2
REPORT RequestId: 5434c093-7182-4012-9b06-635011cac4f2	Init Duration: 0.32 ms	Duration: 177.47 ms	Billed Duration: 178 ms	Memory Size: 128 MB	Max Memory Used: 128 MB
```