基于 AWS Rust SDK 构建无服务器猫图鉴应用
1. 完整架构
之前的 Lambda 示例较为简单,还无法处理 HTTP 请求。若要接收 HTTP 请求,需在其前端配置 API Gateway REST API。完整架构如下:
graph LR
A[API Gateway] --> B[Lambda]
B --> C[DynamoDB]
D[S3 存储桶] --> E[前端文件(HTML、CSS、JavaScript)]
A --> E
REST API 通过 API Gateway 提供服务,API Gateway 负责处理 HTTP 连接,并为每个请求触发一个 Lambda 函数。若要提供两个 API(如 GET /cats 和 POST /cat),可每个 API 对应一个 Lambda 函数。数据库选用 AWS DynamoDB,它是高性能的 NoSQL 数据库,可使用 Rust 的 AWS SDK 直接从 Lambda 函数访问 DynamoDB。
前端文件(HTML、CSS 和 JavaScript)可单独从 S3 存储桶提供服务。S3 存储桶是对象存储,能存储文件,还可像静态 Web 服务器一样通过 HTTP 提供文件服务。
API Gateway 和 S3 静态文件托管暴露的 URL 由 AWS 自动生成,无法自定义。不过,可添加 CloudFront CDN 并通过 Route53(托管 DNS 服务)添加自定义域名,从而完全控制 API 和静态文件使用的域名,但这超出本文范围,
超级会员免费看
订阅专栏 解锁全文
2051

被折叠的 条评论
为什么被折叠?



