3.1 KiB
3.1 KiB
title, type, tags, sources, last_updated
| title | type | tags | sources | last_updated | |||||
|---|---|---|---|---|---|---|---|---|---|
| AWS Lambda | entity |
|
|
2026-04-14 |
Aliases
- Lambda
- AWS Lambda
Definition
AWS Lambda 是 AWS 的无服务器(Serverless)计算服务——开发者只需编写业务逻辑函数(Handler),AWS 负责所有底层运维:负载均衡、自动扩展、安全补丁和容量管理。Lambda 函数由事件(event)触发,事件即云资源状态的任何变化。
Core Properties
| 属性 | 值 |
|---|---|
| 触发模式 | 同步调用、异步调用、事件源映射 |
| 权限模型 | 执行角色(Execution Role)+ 资源策略(Resource-Based Policy) |
| 代码管理 | 版本(Version)、别名(Alias)、Layers(共享公共依赖) |
| 架构支持 | x86 和 ARM64(ARM64 提供更优性价比) |
| 监控 | CloudWatch 指标(请求数、错误数、延迟、节流) |
| 调试工具 | Amazon Q(集成 AI 辅助调试) |
| 性能调优 | Lambda Power Tuning(比较不同配置的性能和成本) |
Lambda Handler 模式
Lambda 函数接收三个核心参数:
- Handler — 入口函数,事件触发时执行
- Event Object — 触发事件的数据结构(API Gateway 请求、S3 对象变更等)
- Context Object — 运行时信息(超时设置、内存限制、日志句柄等)
Invocation Patterns
- 同步调用(Synchronous):调用方等待响应,如 API Gateway → Lambda
- 异步调用(Asynchronous):Lambda 自动处理重试(最多 2 次),如 S3 事件 → Lambda
- 事件源映射(Event Source Mapping):Lambda 轮询流式服务(Kinesis、DynamoDB Stream、SQS)批量处理记录
Permissions Model
Lambda 权限模型基于 IAM 的最小权限原则:
| 权限类型 | 作用对象 | 说明 |
|---|---|---|
| Execution Role | Lambda 函数 | 定义函数能调用哪些 AWS 资源和服务 |
| Resource-Based Policy | 其他 AWS 账号/服务 | 定义谁能/什么能触发该 Lambda 函数 |
Lambda Layers
Lambda Layers 允许跨多个 Lambda 函数共享公共代码和依赖:
- 运行时环境(如 Python boto3 库)
- 自定义运行时
- 配置和脚本
Layers 避免了每个函数重复打包相同依赖,减少部署包大小和更新成本。
Connections
- Serverless-Computing ← is_core_service_of ← AWS-Lambda
- AWS-Lambda ← triggered_by ← Amazon-EventBridge
- AWS-Lambda ← exposed_via ← Amazon-API-Gateway
- AWS-Lambda ← orchestrated_by ← AWS-Step-Functions
- AWS-Lambda ← monitored_by ← CloudWatch
- SAM-Serverless-Application-Model ← deploys ← AWS-Lambda
Related Entities
- Amazon-API-Gateway — Lambda 的 API 暴露层
- AWS-Step-Functions — Lambda 的工作流编排层
- Amazon-EventBridge — Lambda 的事件驱动触发源
- CloudWatch — Lambda 的监控和日志层