CodeRoadMap
首页路线题库资源库文章社区
CodeRoadMap

程序员的学习成长路线图。内容免费开放,登录后可同步路线图与课时进度。

由 程序员柏风 独立维护 · 关于作者

学习

  • 路线图
  • 课程
  • 面试题
  • 文章
  • 我

更多

  • 资源
  • 社区
  • 关于作者
  • 内容说明

© 2026 CodeRoadMap

津ICP备2026012044号-1·津公网安备12011002026155号·coderoadmap@126.com
无服务器入门/课时/本地开发与部署
RawBlame
课时目录12 节

无服务器入门

  1. 01无服务器是什么
  2. 02十二要素应用
  3. 03FaaS 执行模型
  4. 04AWS Lambda 入门
  5. 05事件驱动架构
  6. 06API Gateway
  7. 07冷启动与性能
  8. 08无状态与外部存储
  9. 09数据库迁移
  10. 10本地开发与部署
  11. 11成本与限制
  12. 12综合练习

本地开发与部署

SAM/Serverless Framework 概览。

25 分钟

本地开发与部署

纯靠控制台点 Lambda 难以 版本化、协作、复现。SAM(Serverless Application Model)与 Serverless Framework 用 模板描述函数 + 事件源 + IAM,支持本地 invoke、打包上传——与 aws-cdk 的「代码定义基础设施」同族,粒度更偏 Lambda 应用。

学习目标

  • 读懂 SAM template.yaml 最小结构
  • 使用 sam local invoke / sam deploy 基本流程
  • 了解 Serverless Framework 与 SAM 的分工直觉

SAM 模板骨架

AWSTemplateFormatVersion: '2010-09-09'
Transform: AWS::Serverless-2016-10-31
Resources:
  HelloFunction:
    Type: AWS::Serverless::Function
    Properties:
      Handler: com.example.Handler::handleRequest
      Runtime: java21
      MemorySize: 512
      Timeout: 10
      Events:
        Api:
          Type: Api
          Properties:
            Path: /hello
            Method: get

Events.Api 同时创建 API Gateway 路由——基础设施与应用一次描述。

本地工作流

sam build          # 编译、打 jar
sam local invoke   # Docker 模拟 Lambda 环境
sam local start-api # 本地 HTTP 端口映射 API GW
sam deploy --guided # 首次交互式上传 CloudFormation 栈

本地 Docker 需与 运行时版本一致;VPC 内资源(私有 RDS)本地常 连 dev 共用库或 Testcontainers,勿连 prod。

Serverless Framework 简况

工具特点
SAMAWS 官方、CloudFormation 原生
Serverless Framework多云插件生态、yaml serverless.yml
AWS CDK用 Java/TS 写栈,适合函数+网络+多服务一体

CodeRoadMap 实验可 SAM 入门 + CDK 进阶;与 aws-vs-tf 的 IaC 思维一致:可 review 的声明优于控制台漂移。

与 Git 协作

  • 模板、Handler、迁移脚本 同 repo
  • PR 跑单元测试 + sam validate
  • 密钥不进 Git:用 SSM/Secrets Manager 参数化

练习

  • 初始化最小 SAM 项目,本地 invoke 一次
  • 在 template 里加 环境变量引用
DYNAMODB_TABLE
  • 对比 sam deploy 与手动控制台改 IAM 的可审计性
  • 小结

    SAM/Serverless Framework 让 Lambda 像普通工程:模板、本地测、流水线发。 下一课谈钱与边界:计费模型与 vendor lock-in。

    加载本节练习…
    ← 上一课数据库迁移下一课 →成本与限制