Files
nexus/wiki/entities/AWS-Lambda.md

79 lines
3.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
title: "AWS Lambda"
type: entity
tags:
- AWS
- Serverless
- Compute
- Lambda
sources:
- public-cloud-learning-sessions-opentext-serverless-computing-20240903-160139-mee
last_updated: 2026-04-14
---
## Aliases
- Lambda
- AWS Lambda
## Definition
AWS Lambda 是 AWS 的无服务器Serverless计算服务——开发者只需编写业务逻辑函数HandlerAWS 负责所有底层运维负载均衡、自动扩展、安全补丁和容量管理。Lambda 函数由事件event触发事件即云资源状态的任何变化。
## Core Properties
| 属性 | 值 |
|------|-----|
| 触发模式 | 同步调用、异步调用、事件源映射 |
| 权限模型 | 执行角色Execution Role+ 资源策略Resource-Based Policy |
| 代码管理 | 版本Version、别名Alias、Layers共享公共依赖 |
| 架构支持 | x86 和 ARM64ARM64 提供更优性价比) |
| 监控 | CloudWatch 指标(请求数、错误数、延迟、节流) |
| 调试工具 | Amazon Q集成 AI 辅助调试) |
| 性能调优 | Lambda Power Tuning比较不同配置的性能和成本 |
## Lambda Handler 模式
Lambda 函数接收三个核心参数:
1. **Handler** — 入口函数,事件触发时执行
2. **Event Object** — 触发事件的数据结构API Gateway 请求、S3 对象变更等)
3. **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 的监控和日志层