Conceitos básicos sobre testes locais - AWS Kit de desenvolvimento em nuvem (AWS CDK) v2

Este é o Guia do desenvolvedor do AWS CDK v2. O CDK v1 antigo entrou em manutenção em 1º de junho de 2022 e encerrou o suporte em 1º de junho de 2023.

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á.

Conceitos básicos sobre testes locais

Este tópico descreve o que você precisa usar com a CLI do AWS SAM com aplicações do AWS CDK e fornece instruções para criar e testar localmente uma aplicação do AWS CDK.

Pré-requisitos

Para testar localmente, é necessário instalar a CLI do AWS SAM. Consulte Instalação da CLI do AWS SAM para obter instruções de instalação.

Criação e testes locais de uma aplicação do CDK da AWS

Para testar localmente uma aplicação do CDK da AWS usando a CLI do AWS SAM, é necessário ter uma aplicação do AWS CDK que contenha uma função do Lambda. Use as etapas a seguir para criar uma aplicação básica do CDK da AWS com uma função do Lambda. Para obter mais informações, consulte Criação de uma aplicação com tecnologia sem servidor usando o CDK da AWS no Guia do desenvolvedor do kit de desenvolvimento em nuvem da AWS (CDK da AWS).

Etapa 1: criar uma aplicação do CDK da AWS

Para este tutorial, inicialize uma aplicação do CDK da AWS que use TypeScript.

Comando a ser executado:

$ mkdir cdk-sam-example $ cd cdk-sam-example $ cdk init app --language typescript
Etapa 2: adicionar uma função do Lambda à sua aplicação

Substitua o código em lib/cdk-sam-example-stack.ts pelo seguinte:

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'), }); } }
Etapa 3: adicionar o código da função do Lambda

Crie um diretório chamado my_function. Nesse diretório, crie um arquivo chamado app.py.

Comando a ser executado:

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”

Adicione o seguinte código a app.py:

def lambda_handler(event, context): return "Hello from SAM and the CDK!"
Etapa 4: testar sua função do Lambda

É possível usar a CLI do AWS SAM para invocar localmente uma função do Lambda que você define em uma aplicação do AWS CDK. Para fazer isso, você precisa do identificador do constructo da função e do caminho para seu modelo sintetizado do AWS CloudFormation.

Execute o comando a seguir para retornar ao diretório lib:

$ cd ..

Comando a ser executado:

$ cdk synth --no-staging
$ sam local invoke MyFunction --no-event -t ./cdk.out/CdkSamExampleStack.template.json

Exemplos de 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