什么是 AWS 无服务器应用程序模型 (AWS SAM)? - AWS Serverless Application Model
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

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

什么是 AWS 无服务器应用程序模型 (AWS SAM)?

这些区域有:AWS 无服务器应用程序模型 (AWS SAM)是开源框架,可用于构建 无服务器应用程序 在AWS上。

无服务器应用程序是 Lambda 函数、事件源以及共同执行任务的其他资源的组合。请注意,无服务器应用程序不仅仅是 Lambda 功能—它可以包括其他资源,如 APIs、数据库和事件源映射。

您可以使用 AWS SAM 以定义无服务器应用程序。 AWS SAM 由以下组件组成:

  • AWS SAM 模板规格. 您可以使用此规范定义无服务器应用程序。它为您提供了一个简单而简洁的语法来描述函数, APIs、权限、配置和构成无服务器应用程序的事件。您使用 AWS SAM 模板文件,可在作为无服务器应用程序的单个可部署的版本化实体上运行。对于 AWS SAM 模板规格,请参阅 AWS 无服务器应用程序模型 (AWS SAM)规格.

     

  • AWS SAM 命令行界面(AWS SAM CLI)/CLI(CLI). 您可以使用此工具构建由定义的无服务器应用程序 AWS SAM 模板。CLI提供的命令使您能够验证 AWS SAM 模板文件根据规范编写,调用 Lambda 本地功能,逐步调试 Lambda 功能、包和部署无服务器应用程序到AWS云,以此类推。有关如何使用 AWS SAM CLI,包括 AWS SAM CLI命令参考,请参阅 AWS SAM CLI命令参考.

本指南向您展示了如何使用 AWS SAM 定义、测试和部署简单的无服务器应用程序。它还提供了 示例应用程序 可以下载、本地测试和部署到AWSCloud。您可以使用此示例应用程序作为开发自己的无服务器应用程序的起点。

使用 AWS SAM

由于AWSSAM与其他AWS服务集成,使用AWSSAM创建无服务器应用程序具有以下优势:

  • 单部署配置。 AWS SAM 便于组织相关组件和资源,并在单个堆栈上操作。您可以使用 AWS SAM 在资源之间共享配置(如内存和超时),并将所有相关资源一起部署为单个版本化实体。

     

  • 的扩展 AWS CloudFormation. 因为 AWS SAM 是的扩展 AWS CloudFormation,您可以获得 AWS CloudFormation. 您可以使用定义资源 AWS CloudFormation 您的 AWS SAM 模板。此外,您可以使用中提供的全套资源、内在功能和其他模板功能 AWS CloudFormation.

     

  • 内置最佳实践. 您可以使用 AWS SAM 以定义和部署作为config的基础架构。这使您可以使用和执行最佳实践,例如代码审查。此外,通过几行配置,您可以通过 CodeDeploy、和可以通过使用 AWS X-Ray.

     

  • 本地调试和测试. 的 AWS SAM CLI允许您本地构建、测试和调试由AWSSAM模板定义的无服务器应用程序。CLI在本地提供类似Lambda的执行环境。它通过提供与实际Lambda执行环境的同等性,帮助您提前解决问题。要逐步浏览和调试代码以了解代码在做什么,您可以使用 AWS SAM 使用AWS工具包,如 AWS Toolkit for JetBrains, AWS工具包 PyCharm, AWS工具包 IntelliJ,和 用于VisualStudio代码的AWS工具包. 这通过使您能够查找和排除云中可能遇到的问题来收紧反馈回路。

     

  • 与开发工具深度集成. 您可以使用 AWS SAM 使用一套AWS工具构建无服务器应用程序。您可以在 AWS Serverless Application Repository. 用于创作、测试和调试 AWS SAM–基于无服务器应用程序,您可以使用 AWS Cloud9 IDE(国际开发中心). 要为无服务器应用程序构建部署管道,您可以使用 CodeBuild, CodeDeploy,和 CodePipeline. 您也可以使用 AWS CodeStar 以开始使用为您自动配置的项目结构、代码库和CI/CD管道。要部署无服务器应用程序,您可以使用 Jenkins插件. 您可以使用 Stackery.io工具包 以构建生产就绪应用程序。

下一步

AWS SAM 入门