什么是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.

一个无服务器应用是 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在资源之间共享配置(例如内存和超时),并将所有相关资源作为单个版本控制的实体一起部署。

     

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

     

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

     

  • 本地调试和测试. 这些区域有:Amazon SAMCLI 允许您在本地构建、测试和调试无服务器应用程序,这些应用程序由Amazon SAM模板。CLI 在本地提供了类似于 Lambda 的执行环境。它通过提供与实际 Lambda 执行环境的奇偶校验来帮助您提前发现问题。要逐步调试你的代码以了解代码在做什么,你可以使用Amazon SAM和Amazon类似的工具包Amazon Toolkit for JetBrainsAmazonToolkit for pyCharmAmazonToolkit for IntelliJ, 和AmazonToolkit for Visual Studio Code. 这使您能够发现和解决云中可能遇到的问题,从而缩小反馈循环。

     

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

下一步

开始使用 Amazon SAM