Pruebas de AWS CDK aplicaciones a nivel local AWS SAM - AWS Serverless Application Model

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.

Pruebas de AWS CDK aplicaciones a nivel local AWS SAM

Puede usar la AWS SAM CLI para probar sus aplicaciones AWS CDK localmente ejecutando los siguientes comandos desde el directorio raíz del proyecto de tu aplicación AWS CDK:

Antes de ejecutar cualquiera de los comandos sam local con una aplicación AWS CDK, debe ejecutar cdk synth.

Al ejecutar sam local invoke, necesitarás el identificador de constructo de la función que desee invocar y la ruta a la plantilla de AWS CloudFormation sintetizada. Si la aplicación utiliza pilas anidadas, para resolver conflictos de nomenclatura también necesitarás el nombre de la pila en la que se define la función.

Uso:

# Invoke the function FUNCTION_IDENTIFIER declared in the stack STACK_NAME sam local invoke [OPTIONS] [STACK_NAME/FUNCTION_IDENTIFIER] # Start all APIs declared in the AWS CDK application sam local start-api -t ./cdk.out/CdkSamExampleStack.template.json [OPTIONS] # Start a local endpoint that emulates AWS Lambda sam local start-lambda -t ./cdk.out/CdkSamExampleStack.template.json [OPTIONS]

Ejemplo

Considerar las pilas y las funciones que se declaran en el siguiente ejemplo:

app = new HelloCdkStack(app, "HelloCdkStack", ... ) class HelloCdkStack extends cdk.Stack { constructor(scope: Construct, id: string, props?: cdk.StackProps) { ... new lambda.Function(this, 'MyFunction', { ... }); new HelloCdkNestedStack(this, 'HelloNestedStack' ,{ ... }); } class HelloCdkNestedStack extends cdk.NestedStack { constructor(scope: Construct, id: string, props?: cdk.NestedStackProps) { ... new lambda.Function(this, 'MyFunction', { ... }); new lambda.Function(this, 'MyNestedFunction', { ... }); }

Los siguientes comandos invocan localmente las funciones de Lambda definidas en el siguiente ejemplo:

# Invoke MyFunction from the HelloCdkStack sam local invoke -t ./cdk.out/HelloCdkStack.template.json MyFunction
# Invoke MyNestedFunction from the HelloCdkNestedStack sam local invoke -t ./cdk.out/HelloCdkStack.template.json MyNestedFunction
# Invoke MyFunction from the HelloCdkNestedStack sam local invoke -t ./cdk.out/HelloCdkStack.template.json HelloNestedStack/MyFunction