aws-serverless

专长于构建可在AWS上投入生产的无服务器应用。涵盖Lambda函数、API网关、DynamoDB、SQS/SNS事件驱动模式、SAM/CDK部署及冷启动优化。

作者

安装

热度:24

下载并解压到你的 skills 目录

复制命令,发送给 OpenClaw 自动安装:

下载并安装这个技能 https://openskills.cc/api/download?slug=sickn33-skills-aws-serverless&locale=zh&source=copy

AWS Serverless - 生产级无服务器应用开发技能

技能概述


AWS Serverless 技能提供构建生产级无服务器应用的完整模式和实践,涵盖 Lambda 函数开发、API Gateway 集成、DynamoDB 数据层、事件驱动架构以及 SAM/CDK 部署方案。

适用场景

1. 构建 RESTful API 和 HTTP 服务


当您需要快速构建和部署 API 端点时,可以使用 API Gateway 与 Lambda 集成模式。技能提供完整的 SAM 模板示例,展示如何配置 HTTP API、设置 CORS、以及如何将路由绑定到具体的 Lambda 函数处理器。

2. 异步消息处理和任务队列


对于需要解耦和可靠重试的场景,技能提供了 SQS 触发 Lambda 的完整模式。包含批次大小配置、部分失败处理(ReportBatchItemFailures)、死信队列设置等生产级实践,确保消息处理的高可靠性。

3. 事件驱动的微服务架构


当需要构建松耦合、可扩展的微服务时,技能展示了如何利用 SNS/SQS 等服务实现事件驱动模式。包含 Lambda 初始化最佳实践、上下文复用、以及如何避免常见的性能陷阱。

核心功能

1. Lambda Handler 标准模式


提供 Node.js 和 Python 双语言的 Lambda 函数标准结构,包括:
  • 客户端连接在处理器外初始化(跨调用复用)

  • 事件源解析和错误处理

  • API Gateway 兼容的响应格式

  • 结构化日志记录
  • 2. API Gateway 集成与部署


    完整的 SAM 模板示例,涵盖:
  • HTTP API 和 REST API 配置

  • 路径参数和请求体处理

  • IAM 权限策略(DynamoDBReadPolicy、DynamoDBCrudPolicy)

  • 环境变量和 CORS 设置
  • 3. SQS 事件驱动处理


    生产级消息处理模式,包括:
  • 批量消息处理和部分失败报告

  • 可见性超时配置(建议为 Lambda 超时的 6 倍)

  • 死信队列和重试策略

  • 消息 ID 级别的错误追踪
  • 常见问题

    Lambda 冷启动时间通常多久?如何优化?


    冷启动时间因运行时、内存配置、部署包大小而异,通常在几百毫秒到几秒之间。优化措施包括:保持部署包精简、选择合适的内存分配(512MB+)、初始化逻辑放在处理器外部、以及避免不必要的依赖。如果 Lambda 位于 VPC 中,ENI 创建会额外增加延迟。

    SAM 和 CDK 应该如何选择?


    SAM(Serverless Application Model)更适合快速开发和简单场景,提供简化的语法和常用模式。CDK(Cloud Development Kit)更适合复杂基础设施和需要编程抽象的场景,支持 TypeScript/Python 等语言编写基础设施代码。两者都可以部署相同类型的资源,选择取决于团队偏好和项目复杂度。

    VPC 中的 Lambda 为什么性能较差?


    VPC 中的 Lambda 需要创建弹性网络接口(ENI),这会增加初始化时间。建议:仅当需要访问 VPC 内部资源(如 RDS、ElastiCache)时才启用 VPC;配置足够的 ENI 数量;如果只访问公网服务,保持 Lambda 在 VPC 外部。技能中的 "Sharp Edges" 部分提供了详细的配置检查清单。