一、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 自动运行。