AWS Serverless Developer Journey
Serverless Developer 的历程
假设你是一名想要在生产环境中使用 Lambda 的开发人员。
在初次尝试 Lambda 时,您将使用 AWS 管理控制台进行开发和部署。
它简化了 Lambda 的开发,但不适合生产环境。
这就像直接修改生产服务器上的文件一样。
本地测试
建议在本地工作站上使用 IDE 或基本的文本编辑器。
每次代码更改都应推送到源和版本控制。
开发人员需要能够在本地开发、测试和分发他们的代码。
这就是 AWS Serverless Application Model 或 AWS SAM 的作用。
Serverless Developer 的历程视频
W3schools.com 与 Amazon Web Services 合作,为我们的学生提供数字培训内容。
AWS SAM
AWS SAM 是 AWS CloudFormation 的无服务器应用程序部署模块。
使用 AWS SAM,您可以设计 Lambda 函数、API,并从 AWS Serverless Application Repository 中创建无服务器应用程序。
AWS CloudFormation 通常与 AWS 中的基础设施即代码相关联。
您可以 JSON 或 YAML 模板来指定您的基础设施。
当您将这些模板上传到 CloudFormation 时,它将在您的 AWS 环境中创建这些资源。
AS SAM 有两个关键组件
- SAM 命令行界面
- SAM 模板
SAM 模板
要理解 SAM 模板,您首先需要理解基础设施即代码。
模板是一组用于定义无服务器应用程序的规范。
模板使您可以快速轻松地创建无服务器解决方案。
有了模板,您就不需要编写自定义脚本或执行手动任务。
在部署模板之前,您应该先测试已配置的 Lambda 函数。
传统应用程序首先在开发人员的本地工作站上使用单元测试进行测试。
理想情况下,您应该对 Lambda 函数使用相同的本地测试方法。
但这需要在本地模拟一个类似 Lambda 的执行环境。
SAM 命令行界面
SAM CLI 允许您在本地测试代码并模拟 Lambda 环境。
它支持本地调用、示例负载生成和 Lambda 函数调试。
这使您能够运行单元测试、调试并本地解决问题。
在验证代码和模板后,您可以使用 SAM package 来构建部署包。
它是一个 .zip 文件,SAM 会将其保存在 Amazon S3 中。
然后,您可以使用 CloudFormation 部署此 .zip 文件,并使用 SAM deploy 创建资源。
相关阅读
AWS SAM 和 SAM CLI GitHub 参考指南AWS SAM 逐步代码部署
在 AWS CodeDeploy 中处理部署配置