无需管理服务器:只需编写业务逻辑,部署后由云平台托管运行环境。
事件驱动(Event-driven)
按需计费(按调用次数/资源消耗)
高可扩展性与自动伸缩
类型 | AWS服务 | 说明 |
---|---|---|
计算 | Lambda | 核心函数服务 |
网关/API | API Gateway | 将 HTTP 请求转发给 Lambda |
消息/队列 | SQS / SNS / EventBridge | 异步触发/事件总线 |
存储 | S3 / DynamoDB | 文件存储 / NoSQL 数据库 |
身份认证 | Cognito / IAM | 用户认证鉴权 |
DevOps | CloudFormation / CDK | 基础设施即代码(IaC) |
注册 AWS 账号(推荐使用 Free Tier)
安装和配置 AWS CLI:
aws configure
安装 Serverless Framework(Node.js 环境):
npm install -g serverless
serverless config credentials --provider aws --key YOUR_KEY --secret YOUR_SECRET
serverless-message-board/
├── handler.py
├── serverless.yml
handler.py
:import json
def create_message(event, context):
body = json.loads(event["body"])
message = body.get("message", "No message")
return {
"statusCode": 200,
"body": json.dumps({"msg": "Message received", "content": message})
}
def get_message(event, context):
return {
"statusCode": 200,
"body": json.dumps({"msg": "Here is a message", "content": "Hello, Serverless!"})
}
serverless.yml
:service: message-board-api
provider:
name: aws
runtime: python3.9
region: ap-northeast-1
functions:
createMessage:
handler: handler.create_message
events:
- http:
path: message
method: post
getMessage:
handler: handler.get_message
events:
- http:
path: message
method: get
sls deploy
curl -X POST https://your-api-id.execute-api.aws-region.amazonaws.com/dev/message \
-H "Content-Type: application/json" \
-d '{"message": "Hello GPT!"}'