AWS Lambda 学习笔

一、Lambda 是什么

  • AWS Lambda 是一个无服务器(Serverless)计算服务。

  • 不需要自己配置或维护服务器,AWS 自动提供运行环境。

  • 只需要上传代码,设置触发条件,Lambda 就会在事件发生时自动执行。


二、运行原理

  • Lambda 不常驻运行,只在被触发时启动。

  • 执行完毕后会自动释放资源。

  • 支持多种语言(Python、Node.js、C#、Java 等)。

  • 可以选择不同运行架构:

    • x86_64(Intel/AMD,兼容性最好)

    • arm64(AWS Graviton,性能高、成本低)


三、触发机制(以 S3 为例)

  1. 在 S3 中设置触发条件(例如上传新文件时)。

  2. 当事件发生时,S3 会自动触发指定的 Lambda。

  3. S3 把事件详情(如 bucket 名称、文件路径等)传给 Lambda 的参数 event

  4. 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 自动运行。

相关推荐
武子康1 分钟前
Java-182 OSS 权限控制实战:ACL / RAM / Bucket Policy 与错误排查
java·数据库·阿里云·云计算·oss·fastdfs·fdfs
不羁的木木2 分钟前
【开源鸿蒙跨平台开发学习笔记】Day07:React Native 开发 HarmonyOS-GitCode口袋工具开发-3
学习·开源·harmonyos
yoyo君~3 分钟前
深入理解PX4飞控系统:多线程并发、原子操作与单例模式完全指南
学习·单例模式·机器人·无人机
山土成旧客3 分钟前
【Python学习打卡-Day17】从二分类到多分类:ROC曲线、三大平均指标与风控利器MCC/KS
python·学习·分类
暗然而日章8 分钟前
C++基础:Stanford CS106L学习笔记 5 内存与指针
c++·笔记·学习
秋深枫叶红9 分钟前
嵌入式第二十六篇——数据结构双向链表
c语言·数据结构·学习·链表
匠心网络科技11 分钟前
前端框架-框架为何应运而生?
前端·javascript·vue.js·学习
FAREWELL0007518 分钟前
Lua学习记录(6) --- Lua中的元表相关内容
开发语言·学习·lua
The_cute_cat19 分钟前
FFmpeg的初步学习
学习·ffmpeg
kaliarch9 小时前
2025年IaC生态全景与实践指南:从工具选型到多云治理
后端·云计算·自动化运维