Aplikasi pengujian AWS CDK lokal - AWS Serverless Application Model

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Aplikasi pengujian AWS CDK lokal

Anda dapat menggunakan AWS SAMCLI untuk menguji AWS CDK aplikasi Anda secara lokal dengan menjalankan perintah berikut dari direktori root proyek AWS CDK aplikasi Anda:

Sebelum Anda menjalankan salah satu sam local perintah dengan AWS CDK aplikasi, Anda harus menjalankannyacdk synth.

Saat menjalankan, sam local invoke Anda memerlukan pengenal konstruksi fungsi yang ingin Anda panggil, dan jalur ke templat yang disintesis. AWS CloudFormation Jika aplikasi Anda menggunakan tumpukan bersarang, untuk menyelesaikan konflik penamaan, Anda juga memerlukan nama tumpukan tempat fungsi didefinisikan.

Pemakaian:

# 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]

Contoh

Pertimbangkan tumpukan dan fungsi yang dideklarasikan dengan sampel berikut:

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

Perintah berikut secara lokal memanggil fungsi Lambda yang didefinisikan dalam contoh yang disajikan di atas:

# 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