本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
入门 Amazon SAM 和 Amazon CDK
本主题描述了在 Amazon CDK 应用程序中 Amazon SAMCLI使用所需的内容,并提供了构建和本地测试简单 Amazon CDK 应用程序的说明。
先决条件
要与 Amazon SAMCLI一起使用 Amazon CDK,必须安装和 Amazon SAMCLI。 Amazon CDK
-
有关安装的信息 Amazon CDK,请参阅《Amazon Cloud Development Kit (Amazon CDK) 开发人员指南》 Amazon CDK中的入门指南。
-
有关安装的信息 Amazon SAMCLI,请参阅安装 Amazon SAM CLI。
创建和本地测试 Amazon CDK 应用程序
要使用在本地测试 Amazon CDK 应用程序 Amazon SAMCLI,您必须拥有包含 Lambda 函数的 Amazon CDK 应用程序。使用以下步骤创建带有 Lambda 函数的基本 Amazon CDK 应用程序。有关更多信息,请参阅《Amazon Cloud Development Kit (Amazon CDK) 开发人员指南》中的使用 Amazon CDK创建无服务器应用程序。
注意
从 1.135.0 版本开始 Amazon SAMCLI支持 Amazon CDK v1 和从 2.0.0 版本开始的 Amazon CDK v2。
第 1 步:创建 Amazon CDK 应用程序
在本教程中,初始化一个使用的 Amazon CDK 应用程序 TypeScript。
要运行的命令:
第 2 步:将 Lambda 函数添加到应用程序
使用以下内容替换 lib/cdk-sam-example-stack.ts
中的代码:
第 3 步:添加 Lambda 函数代码
创建名为 my_function
的目录。在此目录中,创建名为 app.py
的文件。
要运行的命令:
mkdir my_function cd my_function touch app.py
将以下代码添加到 app.py
:
def lambda_handler(event, context): return "Hello from SAM and the CDK!"
第 4 步:测试 Lambda 函数
您可以使用在 Amazon SAMCLI本地调用您在应用程序中定义的 Lambda 函数。 Amazon CDK 为此,你需要函数构造标识符和合成 Amazon CloudFormation 模板的路径。
要运行的命令:
cdk synth --no-staging
sam local invoke
MyFunction
--no-event -t./cdk.out/CdkSamExampleStack.template.json
输出示例:
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
有关使用 Amazon SAM CLI 测试 Amazon CDK 应用程序的可用选项的更多信息,请参阅本地测试 Amazon CDK 应用程序。