AWS Lambda 学习笔
一、Lambda 是什么
AWS Lambda 是一个无服务器(Serverless)计算服务。
不需要自己配置或维护服务器,AWS 自动提供运行环境。
只需要上传代码,设置触发条件,Lambda 就会在事件发生时自动执行。
二、运行原理
Lambda 不常驻运行,只在被触发时启动。
执行完毕后会自动释放资源。
支持多种语言(Python、Node.js、C#、Java 等)。
可以选择不同运行架构:
x86_64(Intel/AMD,兼容性最好)
arm64(AWS Graviton,性能高、成本低)
三、触发机制(以 S3 为例)
在 S3 中设置触发条件(例如上传新文件时)。
当事件发生时,S3 会自动触发指定的 Lambda。
S3 把事件详情(如 bucket 名称、文件路径等)传给 Lambda 的参数
event
。Lambda 函数读取
event['Records']
获取信息并执行操作,比如:读取文件内容
处理数据、转换格式
存入数据库或发送通知
四、event 示例(S3 上传触发)
{"Records": [{"eventSource": "aws:s3","eventName": "ObjectCreated:Put","s3": {"bucket": {"name": "my-bucket"},"object": {"key": "upload/data.csv"}}}]
}
示例代码
def lambda_handler(event, context):bucket = event['Records'][0]['s3']['bucket']['name']key = event['Records'][0]['s3']['object']['key']print(f"File uploaded: {bucket}/{key}")
五、Lambda 的调用方式
事件触发(如 S3、API Gateway、CloudWatch)
代码调用(使用 AWS SDK)
命令行调用(AWS CLI)
六、Lambda 与 RDS/S3/API Gateway 的关系
可以处理 S3 上传文件 → 写入数据库(RDS/DynamoDB)
可以作为 API Gateway 的后端服务 → 提供 HTTP API
可以与 IAM、CloudWatch 等服务 配合实现自动化、安全与监控
七、总结一句话
Lambda 是一个事件驱动的无服务器计算服务。
它在特定事件发生时自动执行代码,例如 S3 上传文件、API 调用或计划任务。
你不需要管理服务器,只需写好逻辑,AWS 自动运行。