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

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

什么是Amazon Serverless Application Model(Amazon SAM)?

这些区域有:Amazon Serverless Application Model(Amazon SAM)是一个开源框架,可用于构建无服务器应用程序上的Amazon.

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

您可以使用Amazon SAM定义无服务器应用程序。Amazon SAM包括以下组件:

  • Amazon SAM模板规范. 您可以使用此规范来定义无服务器应用程序。它为您提供了一个简单而干净的语法来描述构成无服务器应用程序的函数、API、权限、配置和事件。您使用Amazon SAM模板文件在单个可部署的版本控制实体上运行,该实体是您的无服务器应用程序。对于完整Amazon SAM模板规范,请参阅Amazon Serverless Application Model(Amazon SAM) 规范.

     

  • Amazon SAM命令行界面Amazon SAMCLI). 您可以使用此工具生成由Amazon SAM模板 CLI 提供的命令使您能够验证Amazon SAM模板文件是根据规范编写的,在本地调用 Lambda 函数,逐步调试 Lambda 函数,打包无服务器应用程序并将其部署到Amazon云,等等。有关如何使用Amazon SAMCLI,包括完整的Amazon SAMCLI 命令参考Amazon SAMCLI 命令参考.

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

使用的优势Amazon SAM

由于Amazon SAM与其他Amazon服务,创建无服务器应用程序Amazon SAM具有以下优势:

  • 单一部署.Amazon SAM可以轻松组织相关组件和资源,并在单一堆栈上进行操作。您可以使用Amazon SAM在资源之间共享配置(例如内存和超时),并将所有相关资源作为单个版本控制实体部署在一起。

     

  • Extension of Amazon CloudFormation. 由于Amazon SAM是Amazon CloudFormation,您可以获得可靠的Amazon CloudFormation. 您可以通过使用Amazon CloudFormation in your Amazon SAM模板 此外,您还可以使用全套资源、内部函数和其他模板功能,这些功能可以在Amazon CloudFormation.

     

  • 内置的最佳实践. 您可以使用Amazon SAM来定义和部署您的基础设施为配置。这使您能够使用和实施最佳实践,例如代码审查。此外,通过几行配置,您可以通过 CodeDeploy 启用安全部署,并且可以使用Amazon X-Ray.

     

  • 本地调试和测试. 这些区域有:Amazon SAMCLI 允许您在本地构建、测试和调试无服务器应用程序,这些应用程序由Amazon SAM模板 CLI 在本地提供类似于 LambDA 的执行环境。它通过提供与实际 Lambda 执行环境的奇偶校验来帮助您提前解决问题。要逐步完成并调试代码以了解代码正在执行的操作,您可以使用Amazon SAM替换为Amazon工具包,如Amazon Toolkit for JetBrainsAmazonToolkit PyCharmAmazonToolkit IntelliJ, 和AmazonToolkit for Visual Studio. 这使您能够查找和排除云中可能遇到的问题,从而加强反馈回路。

     

  • 与开发工具深度集成. 您可以使用Amazon SAM与一套Amazon工具。您可以在Amazon Serverless Application Repository. 用于创作、测试和调试Amazon SAM— 基于无服务器的应用程序,您可以使用Amazon Cloud9IDE. 要为无服务器应用程序构建部署管道,可以使用CodeBuildCodeDeploy, 和CodePipeline. 您还可以使用AWS CodeStar,开始使用为您自动配置的项目结构、代码存储库和 CI/CD 管道。要部署无服务器应用程序,可以使用Jenkins 插件. 您可以使用堆栈 .io来构建生产就绪型应用程序。

下一步

开始使用 Amazon SAM