用途
本技能用于在 AWS Lambda 上构建和部署无服务器函数,覆盖函数创建、事件源、层、SAM 模板与冷启动优化。适合以下场景:构建由 API Gateway、S3、SQS 或 EventBridge 触发的事件驱动应用;运行无需管理服务器的定时(cron)任务;处理来自 Kinesis 或 DynamoDB 的数据流;使用 API Gateway 或函数 URL 构建轻量 API;实现 Webhook、Slack 机器人或自动化脚本;降低间歇性或突发性工作负载的计算成本。
前置条件
- 已安装并配置 AWS CLI v2
- IAM 权限:lambda:、iam:PassRole、logs:、apigateway:、s3:
- 本地安装 Python 3.11+、Node.js 20+ 或其他受支持的运行时
- (可选)用于本地开发与部署的 AWS SAM CLI
主要能力
创建与部署函数
可打包部署包并创建 Lambda 函数,指定运行时、处理器、执行角色、内存、超时、环境变量、架构(arm64)、追踪配置与标签。支持更新函数代码、更新函数配置、发布不可变版本、创建别名,以及通过加权别名实现金丝雀部署(如 90% v3、10% v4)。
函数代码示例
提供 API Gateway 处理器示例(含结构化日志、请求解析、错误处理与状态码返回)以及 SQS 批处理示例(含部分失败上报,通过 batchItemFailures 仅重试失败项)。
Lambda 层(Layers)
可构建 Python 依赖层、发布层版本(指定兼容运行时与架构)、将层附加到函数,以及列出可用层。
事件源映射
支持 SQS 触发器(批处理、最大批处理窗口、ReportBatchItemFailures)、DynamoDB Streams 触发器(起始位置、最大重试次数、批处理错误时二分、失败目标 DLQ)、S3 事件通知(通过 Lambda 权限与 S3 配置)、EventBridge 定时规则(cron)。
函数 URL
可创建函数 URL(公共 HTTPS 端点),配置 CORS,并授予公共调用权限,无需 API Gateway。
冷启动优化
支持配置预置并发(消除冷启动)、预留并发(限流)、为 Java 函数启用 SnapStart。冷启动优化建议包括:使用 arm64(Graviton)架构、减小部署包体积并用层承载大依赖、在处理器函数外初始化 SDK 客户端、非必要不使用 VPC、对延迟敏感路径使用预置并发。
SAM 模板
提供完整的 template.yaml 示例,包含全局配置、参数、API 函数、队列处理器、依赖层、DynamoDB 表、SQS 队列与输出,并列出 SAM CLI 命令(sam build、sam local invoke、sam local start-api、sam deploy、sam logs)。
故障排查
提供常见问题、原因与修复对照表,涵盖函数超时、内存不足、权限拒绝、冷启动超过 5 秒、SQS 消息重复处理、事件源映射被禁用、层未找到、金丝雀部署未切换、函数 URL 无法调用等。
使用方式
通过 AWS CLI 命令创建、更新、发布函数与配置事件源;通过 SAM 模板与 SAM CLI 进行本地开发、测试与部署。
适用场景
事件驱动应用、定时任务、数据流处理、轻量 API、Webhook 与自动化脚本、成本敏感型间歇工作负载。
限制
资料未提供具体收费与价格信息;实际权限、配额与运行时支持情况需以 AWS 官方为准。