mcpField
A
aws-lambda-functions

aws-lambda-functions

github.com/aj-geddes云与 DevOps373616 次安装34 周前更新
代码仓库

关于 aws-lambda-functions

面向使用 AWS Lambda 的开发者,介绍无服务器函数的构建与部署,并提供 AWS CLI、Node.js、Terraform、SAM 和 Lambda Layers 的参考指南。

主要功能

  1. 01构建事件驱动函数
  2. 02使用 AWS CLI 创建函数
  3. 03通过 Terraform 或 SAM 部署
  4. 04使用 Lambda Layers 共享代码
  5. 05配置超时、内存和并发

适用场景

  1. 01处理 API 请求和 Webhook
  2. 02运行定时批处理
  3. 03处理 S3 文件上传
  4. 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.md
lambda-function-with-nodejs.md
lambda-layers-for-code-sharing.md
lambda-with-sam-serverless-application-model.md
terraform-lambda-deployment.md
scripts/
validate-api.sh
templates/
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