本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
AWS SAM CLI
AWS Serverless Application Model 命令行接口 (AWS SAMCLI) 是一款用于本地开发和测试无服务器应用程序的命令行工具。 AWS SAMCLI允许您在部署到云端之前在本地构建、转换、部署、调试、打包、初始化和同步无服务器应用程序。
AWS SAMCLI适用于使用不同框架和基础设施即代码 (IaC) 工具定义的无服务器应用程序,支持级别各不相同:
-
AWS SAM 模板 — 为完整功能集提供原生支持,包括本地测试、调试、打包和部署功能。
-
AWS CDK 应用程序 — 在使用 cdk synth 命令将 CDK 应用程序合成 AWS CloudFormation 到模板后,支持 AWS 对 Lambda 函数进行本地测试。
-
AWS CloudFormation 模板 — 由于 AWS SAM 扩展而提供直接兼容性 AWS CloudFormation,支持标准 AWS CloudFormation 模板中定义的无服务器资源。
-
Terraform 应用程序 — 为 Lambda 函数的构建和本地测试提供有限的支持。要求您生成代表您的 TerraForm 定义的 Lambda 函数的 AWS SAM 模板工件。
为了获得最全面的功能支持和简化的开发者体验,我们建议使用原生 AWS SAM 模板。
AWS SAM CLI 命令是如何记录的
使用以下格式对AWS SAM CLI 命令进行记录:
-
提示 – 默认情况下,Linux 提示被记录下来并显示为 (
$
)。对于 Windows 特定的命令,(>
) 用作提示。请勿在键入命令时包含提示符。 -
目录 – 当必须从特定目录执行命令时,目录名称将显示在提示符符号之前。
-
用户输入 – 您在命令行处输入的命令文本采用
user input
格式。 -
可替换文本-可变文本(例如文件名和参数)的格式为
replaceable text
。在多行命令中或需要特定键盘输入的命令中,键盘输入也可显示为可替换文本。例如ENTER
。 -
输出 – 作为对命令的响应而返回的输出格式为
computer output
。
下面是 sam deploy
命令和输出的示例:
$
sam deploy --guided --template
Configuring SAM deploy ====================== Looking for config file [samconfig.toml] : Found Reading default arguments : Success Setting default arguments for 'sam deploy' ========================================= Stack Name [sam-app]:template.yaml
ENTER
AWS Region [us-west-2]:ENTER
#Shows you resources changes to be deployed and require a 'Y' to initiate deploy Confirm changes before deploy [y/N]:ENTER
#SAM needs permission to be able to create roles to connect to the resources in your template Allow SAM CLI IAM role creation [Y/n]:ENTER
#Preserves the state of previously provisioned resources when an operation fails Disable rollback [y/N]:ENTER
HelloWorldFunction may not have authorization defined, Is this okay? [y/N]:y
Save arguments to configuration file [Y/n]:ENTER
SAM configuration file [samconfig.toml]:ENTER
SAM configuration environment [default]:ENTER
-
sam deploy --guided --template template.yaml
是您在命令行中输入的命令。 -
sam deploy --guided --template
应按原样提供。 -
template.yaml
可以用您的特定文件名替换。 -
输出开始于
Configuring SAM deploy
。 -
在输出中,
ENTER
并y
指明您提供的可替换值。