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 SAM CLI) 是一款用于无服务器应用程序本地开发和测试的命令行工具。Amazon SAM CLI 让您可以在将无服务器应用程序部署到云端之前,在本地进行构建、转换、部署、调试、打包、初始化和同步操作。

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

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

  • AmazonCDK 应用程序 - 支持在使用 cdk synth 命令将 Amazon CDK 应用程序合成到 Amazon CloudFormation 模板后,对 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 格式。

  • 可替换文本 – 可变文本(例如文件名和参数)被格式化为可替换文本。在多行命令中或需要特定键盘输入的命令中,键盘输入也可显示为可替换文本。例如,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 表示您提供的可替换值。