Pruebas localesAWS CDKAplicaciones de - 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 localesAWS CDKAplicaciones de

Puede utilizar elAWS SAMCLI para probar localmente suAWS CDKaplicaciones ejecutando los siguientes comandos desde el directorio raíz del proyecto de suAWS CDKaplicación:

Antes de ejecutar cualquiera de lossam localcomandos con unAWS CDKaplicación, debe ejecutarcdk synth.

Cuando se ejecutasam local invokenecesita el identificador de constructo de función al que desea llamar y la ruta a su sintetizadoAWS CloudFormationplantilla. Si la aplicación utiliza pilas anidadas, para resolver conflictos de nombres, también necesita el nombre de la pila donde 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

Tenga en cuenta las pilas y funciones que se declaran con 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 Lambda definidas en el ejemplo presentado anteriormente:

# 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