关于 aws-lambda-functions
面向使用 AWS Lambda 的开发者,介绍无服务器函数的构建与部署,并提供 AWS CLI、Node.js、Terraform、SAM 和 Lambda Layers 的参考指南。
主要功能
- 01构建事件驱动函数
- 02使用 AWS CLI 创建函数
- 03通过 Terraform 或 SAM 部署
- 04使用 Lambda Layers 共享代码
- 05配置超时、内存和并发
适用场景
- 01处理 API 请求和 Webhook
- 02运行定时批处理
- 03处理 S3 文件上传
- 04构建 SNS 或 SQS 事件工作流
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ aj-geddes/ useful-ai-prompts --skill aws-lambda-functions安装后在 Claude Code 中输入/aws-lambda-functions确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
references/basic-lambda-function-with-aws-cli.mdlambda-function-with-nodejs.mdlambda-layers-for-code-sharing.mdlambda-with-sam-serverless-application-model.mdterraform-lambda-deployment.mdscripts/validate-api.shtemplates/api-scaffold.yaml详细介绍
AWS Lambda 函数
目录
概述
AWS Lambda 可让你运行代码,而无需预置或管理服务器。你可以使用事件驱动触发器构建无服务器应用,仅为实际消耗的计算时间付费,并根据工作负载自动扩缩。
适用场景
- API 端点和 Webhook
- 定时批处理作业和数据处理
- 实时文件处理(S3 上传)
- 事件驱动工作流(SNS、SQS)
- 微服务和后端 API
- 数据转换和 ETL 作业
- IoT 和传感器数据处理
- WebSocket 连接
快速入门
最简可运行示例:
# Create Lambda execution role
aws iam create-role \
--role-name lambda-execution-role \
--assume-role-policy-document '{
"Version": "2012-10-17",
"Statement": [{
"Effect": "Allow",
"Principal": {"Service": "lambda.amazonaws.com"},
"Action": "sts:AssumeRole"
}]
}'
# Attach basic execution policy
aws iam attach-role-policy \
--role-name lambda-execution-role \
--policy-arn arn:aws:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole
# Create function from ZIP
zip function.zip index.js
aws lambda create-function \
--function-name my-function \
--runtime nodejs18.x \
--role arn:aws:iam::ACCOUNT:role/lambda-execution-role \
--handler index.handler \
--zip-file fileb://function.zip \
// ... (see reference guides for full implementation)
参考指南
references/ 目录中的详细实现:
| 指南 | 内容 |
|---|---|
| 使用 AWS CLI 创建基本 Lambda 函数 | 使用 AWS CLI 创建基本 Lambda 函数 |
| 使用 Node.js 创建 Lambda 函数 | 使用 Node.js 创建 Lambda 函数 |
| 使用 Terraform 部署 Lambda | 使用 Terraform 部署 Lambda |
| 使用 SAM(无服务器应用程序模型)部署 Lambda | 使用 SAM(无服务器应用程序模型)部署 Lambda |
| 用于代码共享的 Lambda 层 | 用于代码共享的 Lambda 层 |
最佳实践
✅ 应该做
- 使用环境变量进行配置
- 实现适当的错误处理和日志记录
- 优化软件包大小和依赖项
- 设置合适的超时和内存
- 使用 Lambda 层共享代码
- 设置并发限制
- 启用 X-Ray 跟踪以便调试
- 为关键函数使用预留并发
❌ 不要做
- 在代码中存储敏感数据
- 创建长时间运行的操作(>15 分钟)
- 忽略冷启动优化
- 忘记处理并发执行
- 忽略 CloudWatch 指标
- 不必要地使用过多内存
评论
支持 Markdown