Testando AWS CDK aplicativos localmente - AWS Serverless Application Model

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Testando AWS CDK aplicativos localmente

Você pode usar o AWS SAM CLI para testar localmente seus AWS CDK aplicativos executando os seguintes comandos no diretório raiz do projeto do seu AWS CDK aplicativo:

Antes de executar qualquer um dos comandos sam local com um aplicativo AWS CDK, você deve executar cdk synth.

Durante a execução, sam local invoke você precisa do identificador de construção da função que deseja invocar e do caminho para o modelo sintetizadoAWS CloudFormation. Se seu aplicativo usa pilhas aninhadas, para resolver conflitos de nomenclatura, você também precisará do nome da pilha em que a função está definida.

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]

Exemplo

Considere pilhas e funções que são declaradas com o exemplo a seguir:

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', { ... }); }

Os comandos a seguir invocam localmente as funções Lambda definidas no exemplo apresentado acima:

# 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