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.
Prueba local de aplicaciones AWS CDK con SAM AWS
Puede usar la CLI de AWS SAM para probar localmente sus aplicaciones de AWS CDK ejecutando los siguientes comandos desde el directorio raíz del proyecto de su aplicación de AWS CDK:
Antes de ejecutar cualquiera de los sam local
comandos con una aplicación de AWS CDK, debe ejecutar. cdk synth
Al ejecutarsam local invoke
, necesitará el identificador de construcción de la función que desee invocar y la ruta a la plantilla sintetizada AWS CloudFormation . 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>