
很多人第一次用云服务,脑子里装的是“架个服务、跑个 API、调个模型”,于是打开 EC2,跟着教程买了一台虚拟机,从此踏上了无休止的运维之路。
但是请冷静想一想,你真的需要 7x24 的服务吗?
我们平时要跑的很多任务,说白了就是“写完跑一下”:
这种需求压根没必要常驻服务、维护端口、配置环境,更不值得你为它开台 EC2 或部署容器集群。真的,是 不值当。
而 Amazon Lambda,正是为这种“碎片化、轻量级、按需触发”的任务设计的。传送门

因为它做了一件事:把“运维责任”彻底抽走了。
你不再需要:
而且它默认就和 亚马逊云科技 生态联动紧密: S3、EventBridge、API Gateway、SNS、Bedrock……通通支持作为触发来源。你只要写好函数逻辑,剩下的“怎么调用”都有人兜底。
说得再直白点:Lambda 就是 函数即服务(Function as a Service)的标杆实现。你写逻辑,它帮你跑。

你没听错。Amazon Lambda 提供的是永久性的免费额度:
不是试用期,不是隐藏条款,是每个账户都自带的“Always Free”额度5-1。
你写个 webhook,平时每小时触发一次,一年都用不完这额度。
你跑个日报生成服务,每天执行一次脚本,也能在免费范围内轻松搞定。
你甚至可以连模型调用逻辑一并托管,用 Lambda 处理 prompt,再打通 Bedrock 或 SageMaker。
这是我几周前在项目中写的一个 Lambda 逻辑:
目录:
project/
├── lambda_function.py # 核心逻辑
├── requirements.txt # Pandas 依赖
└── deploy.zip # 打包上传依赖库:
pandas
openpyxl
boto3
requestspy脚本:
import json
import boto3
import pandas as pd
import requests
import os
from io import BytesIO
dynamodb = boto3.resource('dynamodb')
s3 = boto3.client('s3')
# 环境变量提前设置
TABLE_NAME = os.environ.get("TABLE_NAME")
WECHAT_WEBHOOK = os.environ.get("WECHAT_WEBHOOK")
def lambda_handler(event, context):
# 1. 从 S3 事件中提取 Bucket 和 Key
record = event['Records'][0]['s3']
bucket = record['bucket']['name']
key = record['object']['key']
print(f"Processing file: s3://{bucket}/{key}")
# 2. 下载 Excel 文件
response = s3.get_object(Bucket=bucket, Key=key)
content = response['Body'].read()
df = pd.read_excel(BytesIO(content), engine='openpyxl')
print(f"Loaded DataFrame with shape: {df.shape}")
# 3. 简单分析示例(比如统计每个“部门”的数量)
summary = df['部门'].value_counts().to_dict()
print(f"Summary: {summary}")
# 4. 写入 DynamoDB(每个部门写一行)
table = dynamodb.Table(TABLE_NAME)
for department, count in summary.items():
table.put_item(Item={
'Department': department,
'Count': count,
'UploadedFile': key
})
# 5. 推送到企业微信机器人
content_lines = [f"{dept}: {cnt}人" for dept, cnt in summary.items()]
msg = {
"msgtype": "text",
"text": {
"content": f"📊 新文件分析完成:{key}\n\n" + "\n".join(content_lines)
}
}
r = requests.post(WECHAT_WEBHOOK, json=msg)
print(f"WeChat notification sent: {r.status_code}")
return {
'statusCode': 200,
'body': json.dumps('Excel 分析完成,通知已发送')
}打包上传:
pip install -r requirements.txt -t .
zip -r deploy.zip .
# 上传到 AWS Lambda 控制台这整个流程的服务端,没有服务器,没有 Docker,没有定时器,也没有守护进程。
只有 Lambda 一行一行执行着我写的函数,执行完就自动退出,什么都不留。 它不是“常驻应用”,它更像一个“轻触即发”的服务弹簧。
我现在越来越多地把一些“函数型 AI agent”也挂在 Lambda 上:
甚至连安全问题都考虑进去了。比如你可以配合 Amazon Bedrock 的 Guardrails 做内容审查,或者设置角色权限只允许读取某个特定资源。
AI 工程不等于部署大模型服务,有时候更像是 orchestrate 几个“用完即走”的 AI 小模块。Lambda 就非常适合当这个 glue layer。
Lambda 给我们的启发不只是“便宜”,而是一个理念上的转变:
有些任务,不该为了“能执行”就搞一个服务,而是该被“托管执行”。
我们开发者大多数时候不是在跑系统,而是在跑函数。Lambda 把这个过程变得极致简单:
哪怕你不做 AI、也不想用 亚马逊云科技 生态,Lambda 都是一个值得一试的工具:传送门。它适合跑任何“用完即走”的逻辑,像是现代编程世界的“if this then that”,只不过你自己能决定逻辑、能接模型、能连数据。
🧪 综上,我的建议很简单:下一次你想“跑个脚本看看”的时候,别再打开本地终端了。试试 Lambda,你会喜欢上那种“无负担”的开发感。
如果你已经在用了,也欢迎回来告诉我你怎么用它的;如果你在部署 AI 应用,也可以聊聊用 Lambda 的痛点,我这边也有踩过一些坑。