AWS Lambda
开发人员指南
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

使用 Lambda 和 API 网关 创建简单的微服务

在本教程中,您将使用 Lambda 控制台创建一个 Lambda 函数,并创建一个 Amazon API Gateway 终端节点来触发该函数。您可以使用任何方法(GETPOSTPATCH)调用该终端节点以触发您的 Lambda 函数。调用终端节点后,整个请求将会传递到您的 Lambda 函数。您的函数操作将取决于您调用终端节点时使用的方法:

  • DELETE:从 DynamoDB 表中删除项目

  • GET:扫描表并返回所有项目

  • POST:创建项目

  • PUT:更新项目

使用 Amazon API Gateway 创建 API

按照本部分的步骤创建新 Lambda 函数,并创建 API 网关 终端节点以触发该函数:

创建 API

  1. 登录到 AWS 管理控制台,然后打开 AWS Lambda 控制台。

  2. 选择 Create Lambda function

  3. 选择 Blueprint (蓝图)

  4. 在搜索栏中输入 microservice。选择 microservice-http-endpoint 蓝图,然后选择 Configure (配置)

  5. 配置以下设置。

    • 名称lambda-microservice

    • 角色从一个或多个模板创建新角色

    • 角色名称 (角色名称)lambda-apigateway-role

    • 策略模板简单微服务权限

    • API创建新的 API

    • 安全性打开

    选择 Create function

在完成向导并创建函数时,Lambda 会在所选 API 名称下自动创建名为 lambda-microservice 的代理资源。有关代理资源的更多信息,请参阅为代理资源配置代理集成

代理资源具有 AWS_PROXY 集成类型和“捕获全部”方法 ANYAWS_PROXY 集成类型会应用默认映射模板将整个请求传递到 Lambda 函数,并将 Lambda 函数的输出转换为 HTTP 响应。ANY 方法为支持的所有方法(包括 GETPOSTPATCHDELETE 和其他方法)定义同样的集成设置。

测试发送 HTTPS 请求

在本步骤中,您将使用控制台来测试 Lambda 函数。此外,您还可以运行 curl 命令来测试端到端体验。也就是说,将 HTTPS 请求发送到您的 API 方法,并让 Amazon API Gateway 调用您的 Lambda 函数。为了完成这些步骤,请确保您已创建了 DynamoDB 表并将其命名为“MyTable”。有关更多信息,请参阅 创建一个 DynamoDB 表(启用流)

测试 API

  1. MyLambdaMicroService 函数在控制台中保持打开状态,选择 Actions 选项卡,然后选择 Configure test event

  2. 使用以下内容替换现有文本:

    { "httpMethod": "GET", "queryStringParameters": { "TableName": "MyTable" } }
  3. 输入上面的文本后,选择 Save and test