AWS Lambda
开发人员指南
AWS 服务或AWS文档中描述的功能,可能因地区/位置而异。点 击 Getting Started with Amazon AWS to see specific differences applicable to the China (Beijing) Region.

将 AWS Lambda 与 Amazon API Gateway 结合使用(按需并通过 HTTPS)

在本示例中,您将使用 Amazon API Gateway 创建一个简单 API (DynamoDBOperations)。Amazon API Gateway 是资源和方法的集合。在本教程中,您将创建一个资源 (DynamoDBManager) 并在其上定义一种方法 (POST)。该方法由 Lambda 函数 (LambdaFunctionForAPIGateway) 支持。也就是说,当您通过 HTTPS 终端节点调用方法时,Amazon API Gateway 会调用 Lambda 函数。

DynamoDBManager 资源上的 POST 方法支持以下 DynamoDB 操作:

  • 创建、更新和删除项目。

  • 读取项目。

  • 扫描项目。

  • 与 DynamoDB 不相关且可用于测试的其他操作(echo、ping)。

您在 POST 请求中发送的请求负载可标识 DynamoDB 操作并提供必需数据。例如:

  • 下面是 DynamoDB 放置项目操作的示例请求负载:

    Copy
    { "operation": "create", "tableName": "LambdaTable", "payload": { "Item": { "Id": "1", "name": "Bob" } } }
  • 下面是 DynamoDB 读取项目操作的示例请求负载:

    Copy
    { "operation": "read", "tableName": "LambdaTable", "payload": { "Key": { "Id": "1" } } }
  • 下面是 echo 操作的示例请求负载。您随后将使用请求正文中的以下数据将 HTTPS PUT 请求发送到终端节点。

    Copy
    { "operation": "echo", "payload": { "somekey1": "somevalue1", "somekey2": "somevalue2" } }

您也可以从 AWS Lambda 控制台创建和管理 API 终端节点。例如,在蓝图中搜索 microservice。本教程未使用控制台,而是使用了 AWS CLI 来为您提供 API 工作原理的更多详细信息。

注意

API 网关 提供高级功能,例如:

  • 传递整个请求 - Lambda 函数可以接收整个 HTTP 请求(而不仅仅是请求正文),并可以使用 AWS_PROXY 集成类型设置 HTTP 响应(而不仅仅是响应正文)。

  • “捕获全部”方法 - 使用 ANY“捕获全部”方法将 API 资源的所有方法映射到具有单个映射的单个函数。

  • “捕获全部”资源 - 使用新路径参数 ({proxy+}) 将资源的所有子路径映射到 Lambda 函数,而无需任何额外配置。

要了解有关这些 API 网关功能的更多信息,请参阅为代理资源配置代理集成

下一步

步骤 1:准备

本页内容: