当前位置: 首页 > news >正文

实战演练:用 AWS Lambda 和 API Gateway 构建你的第一个 Serverless API

实战演练:用 AWS Lambda 和 API Gateway 构建你的第一个 Serverless API


理论千遍,不如动手一遍!在前面几篇文章中,我们了解了 Serverless 的概念、FaaS 的核心原理以及 BaaS 的重要作用。现在,是时候把这些知识运用起来,亲手构建一个简单但完整的 Serverless 应用了。

本次实战,我们将使用 Amazon Web Services (AWS) 这个主流的云平台,结合它的两个核心 Serverless 服务:

  • AWS Lambda (FaaS): 运行我们的后端代码。
  • AWS API Gateway (BaaS): 创建一个公开的 HTTP 接口,接收请求并触发 Lambda 函数。

目标: 创建一个简单的 HTTP GET API 端点,当用户访问这个端点时,它会返回一个 JSON 消息:“Hello from Lambda!”。

听起来很简单?没错!但这将让你体验到 Serverless 开发的核心流程。

准备工作

在开始之前,请确保你已准备好:

  1. 一个 AWS 账户: 如果没有,可以访问 AWS 官网 免费注册一个。新用户通常有一年的免费套餐额度,足够我们本次实验使用。
  2. 登录 AWS 管理控制台: 我们将主要通过 AWS 的网页界面来完成操作,对新手更友好。
  3. (可选) Node.js 环境: 我们将使用 Node.js 编写 Lambda 函数代码。虽然可以直接在 AWS 控制台编辑,但如果你想在本地编写和测试,需要安装 Node.js (LTS 版本即可)。

准备好了吗?我们开始吧!

第一步:创建 Lambda 函数

我们的“大脑”——处理请求的代码,将放在 Lambda 函数中。

  1. 登录 AWS 管理控制台。
  2. 在顶部的搜索栏中输入 Lambda,然后点击进入 Lambda 服务页面。
  3. 点击 “创建函数” (Create function) 按钮。
  4. 选择 “从头开始创作” (Author from scratch)
  5. 基本信息配置:
    • 函数名称 (Function name): 输入一个有意义的名称,例如 myHelloFunction
    • 运行时 (Runtime): 选择一个较新的 Node.js LTS 版本,例如 Node.js 18.xNode.js 20.x
    • 架构 (Architecture): 保持默认的 x86_64 即可。
    • 权限 (Permissions): 展开 “更改默认执行角色” (Change default execution role)。选择 “创建具有基本 Lambda 权限的新角色” (Create a new role with basic Lambda permissions)。这将自动创建一个允许函数将日志写入 AWS CloudWatch 的角色,方便后续排查问题。
  6. 点击 “创建函数” (Create function)。等待函数创建完成。

编写函数代码:

  1. 函数创建成功后,向下滚动到 “代码源” (Code source) 部分。

  2. 你会看到一个默认的 index.mjsindex.js 文件。将其中的全部内容替换为以下 Node.js 代码:

    // 使用 async/await 语法定义 handler
    export const handler = async 

相关文章:

  • langchain 接入国内搜索api——百度AI搜索
  • Python-86:奇妙货币交易问题
  • 基于SpringBoot的在线教育管理系统
  • Qt 界面优化(绘图)
  • 计算机网络--2
  • 黑名单中的随机数-leetcode710
  • PostgreSQL 的 pg_column_size 函数
  • 用一张网记住局域网核心概念:从拓扑结构到传输介质的具象化理解
  • 【计算机网络01】 网络组成与三种交换方式
  • 万字了解什么是微前端???
  • Redis爆肝总结
  • CacheBackEmbedding 组件的运行流程和使用注意事项
  • Python-MCPAgent开发-DeepSeek版本
  • iOS实名认证模块的具体实现过程(swift)
  • 【C++】16.继承
  • 【东枫科技】使用LabVIEW进行深度学习开发
  • SaaS场快订首页的前端搭建【持续更新】
  • 【每日一题 | 2025年5.5 ~ 5.11】搜索相关题
  • JavaWeb, Spring, Spring Boot
  • 《Go小技巧易错点100例》第三十一篇
  • 安徽省委副秘书长、省委政研室主任余三元调任省社科院院长
  • Manus向全球用户开放注册
  • 苹果或将于2027年推出由玻璃制成的曲面iPhone
  • 普京提议恢复直接谈判,泽连斯基:望俄明日停火,乌愿谈判
  • 种罂粟喂鸡防病?四川广元一村民非法种植毒品原植物被罚​
  • 2025年两岸关系研讨会在上海开幕