title, type, tags, sources, last_updated
| title |
type |
tags |
sources |
last_updated |
| SAM Serverless Application Model |
entity |
| AWS |
| Serverless |
| IaC |
| CloudFormation |
|
| public-cloud-learning-sessions-opentext-serverless-computing-20240903-160139-mee |
|
2026-04-14 |
Aliases
- SAM
- AWS SAM
- Serverless Application Model
Definition
AWS SAM(Serverless Application Model)是 AWS 官方的开源 IaC 工具,基于 AWS CloudFormation 构建,专门简化无服务器应用(Lambda、API Gateway、Step Functions 等)的定义、部署和管理。SAM 提供简化的 YAML 语法,降低 CloudFormation 模板的复杂度,同时支持本地开发和测试。
Core Properties
| 属性 |
值 |
| 基础 |
AWS CloudFormation |
| 配置格式 |
YAML(简化语法) |
| CLI |
AWS SAM CLI,支持本地调用和测试 |
| 本地测试 |
SAM Local — 本地启动 API Gateway + Lambda |
| 部署 |
sam deploy、sam build、sam package |
| 应用发布 |
AWS Serverless Application Repository(应用市场) |
SAM vs CloudFormation
| 特性 |
SAM |
CloudFormation |
| 语法 |
简化 YAML |
JSON/YAML |
| 资源类型 |
仅 Serverless 资源 |
全部 AWS 资源 |
| 本地测试 |
SAM Local |
不支持 |
| 打包上传 |
sam package |
aws cloudformation package |
| 模板继承 |
!Sub、!Ref |
原生支持 |
Typical SAM Template
SAM CLI 常用命令
| 命令 |
作用 |
sam init |
初始化新 SAM 项目 |
sam build |
构建应用(处理依赖、Layer) |
sam local invoke |
本地调用 Lambda 函数 |
sam local start-api |
本地启动完整 API(API Gateway + Lambda) |
sam deploy |
交互式部署到 AWS |
sam package |
打包模板和代码到 S3 |
sam validate |
验证模板语法 |
Connections