Cómo empezar con las pruebas locales - AWS Kit Cloud Development Kit (AWS CDK) v2

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.

Cómo empezar con las pruebas locales

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

Requisitos previos

Para realizar una prueba local, debe instalar la CLI de AWS SAM. Consulte Instalación de la CLI de AWS SAM para obtener instrucciones de instalación.

Creación y prueba local de una aplicación de AWS CDK

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 Lambda. Siga los siguientes pasos para crear una aplicación AWS CDK básica con una función Lambda. Para obtener más información, consulte Creación de una aplicación sin servidor mediante la AWS CDK en la Guía para desarrolladores del AWS Cloud Development Kit (AWS CDK).

Paso 1: Crear una aplicación de CDK AWS

Para este tutorial, inicialice 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
Paso 2: Añadir una función 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'), }); } }
Paso 3: Añada el código de la función Lambda

Cree un directorio llamado my_function. En dicho directorio, cree un archivo llamado app.py.

Comando a ejecutar:

macOS / Linux
$ mkdir my_function $ cd my_function $ touch app.py
Windows
$ mkdir my_function $ cd my_function $ type nul > app.py
PowerShell
$ 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!"
Paso 4: Pruebe la función Lambda

Puede usar la CLI de AWS SAM para invocar localmente una función Lambda que defina en AWS una aplicación de CDK. Para ello, necesita el identificador de construcción de la función y la ruta a la plantilla sintetizada. AWS CloudFormation

Ejecute el siguiente comando para volver al lib directorio:

$ 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