Amazon SAM CLI - Amazon Serverless Application Model
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

Amazon SAM CLI

Amazon Serverless Application Model 命令行接口 (Amazon SAMCLI) 是一款用于本地开发和测试无服务器应用程序的命令行工具。 Amazon SAMCLI允许您在部署到云端之前在本地构建、转换、部署、调试、打包、初始化和同步无服务器应用程序。

Amazon SAMCLI适用于使用不同框架和基础设施即代码 (IaC) 工具定义的无服务器应用程序,支持级别各不相同:

  • Amazon SAM 模板 — 为完整功能集提供原生支持,包括本地测试、调试、打包和部署功能。

  • Amazon CDK 应用程序 — 在使用 cdk synth 命令将 CDK 应用程序合成 Amazon CloudFormation 到模板后,支持 Amazon 对 Lambda 函数进行本地测试。

  • Amazon CloudFormation 模板 — 由于 Amazon SAM 扩展而提供直接兼容性 Amazon CloudFormation,支持标准 Amazon CloudFormation 模板中定义的无服务器资源。

  • Terraform 应用程序 — 为 Lambda 函数的构建和本地测试提供有限的支持。要求您生成代表您的 TerraForm 定义的 Lambda 函数的 Amazon SAM 模板工件。

为了获得最全面的功能支持和简化的开发者体验,我们建议使用原生 Amazon SAM 模板。

Amazon SAM CLI 命令是如何记录的

使用以下格式对Amazon SAM CLI 命令进行记录:

  • 提示 – 默认情况下,Linux 提示被记录下来并显示为 ($ )。对于 Windows 特定的命令,(> ) 用作提示。请勿在键入命令时包含提示符。

  • 目录 – 当必须从特定目录执行命令时,目录名称将显示在提示符符号之前。

  • 用户输入 – 您在命令行处输入的命令文本采用 user input 格式。

  • 可替换文本-可变文本(例如文件名和参数)的格式为replaceable text。在多行命令中或需要特定键盘输入的命令中,键盘输入也可显示为可替换文本。例如 ENTER

  • 输出 – 作为对命令的响应而返回的输出格式为 computer output

下面是 sam deploy 命令和输出的示例:

$ sam deploy --guided --template template.yaml Configuring SAM deploy ====================== Looking for config file [samconfig.toml] : Found Reading default arguments : Success Setting default arguments for 'sam deploy' ========================================= Stack Name [sam-app]: 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
  1. sam deploy --guided --template template.yaml 是您在命令行中输入的命令。

  2. sam deploy --guided --template 应按原样提供。

  3. template.yaml可以用您的特定文件名替换。

  4. 输出开始于 Configuring SAM deploy

  5. 在输出中,ENTERy指明您提供的可替换值。