开始使用 REST API 控制台 - Amazon API Gateway
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

开始使用 REST API 控制台

在本入门练习中,您将使用 API Gateway REST API 控制台创建无服务器 REST API。无服务器 API 让您可以专注于应用程序,而不是花时间预置和管理服务器。本次练习应在 20 分钟内完成,并且可以使用Amazon 免费套餐完成。

首先,您将使用 Lambda 控制台创建 Lambda 函数。接下来,使用 API Gateway REST API 控制台创建 REST API 。然后,您将创建一个 API 方法,并使用 Lambda 代理集成将该方法与 Lambda 函数集成。最后,您将部署并调用您的 API。

当您调用 REST API 时,API Gateway 会将请求路由到您的 Lambda 函数。Lambda 运行函数并将响应返回 API Gateway。然后 API Gateway 会向您返回该响应。

要完成本练习,您需要一个 Amazon Web Services 账户以及一位具有控制台访问权限的 Amazon Identity and Access Management (IAM) 用户。有关更多信息,请参阅开始使用 API Gateway 的先决条件

步骤 1:创建 Lambda 函数

将 Lambda 函数用作您的 API 后端。只有在需要时 Lambda 才运行您的代码,并且能自动扩展,从每天几个请求扩展到每秒数千个请求。

在本练习中,您使用 Lambda 控制台中的默认 Node.js 函数。

创建 Lambda 函数
  1. 通过以下网址登录 Lambda 控制台:https://console.aws.amazon.com/lambda

  2. 选择创建函数

  3. 基本信息 下,对于函数名称,输入 my-function

  4. 选择 Create function(创建函数)。

默认的 Lambda 函数代码应类似于以下内容:

export const handler = async (event) => { const response = { statusCode: 200, body: JSON.stringify('The API Gateway REST API console is great!'), }; return response; };

对于本练习,您可以修改 Lambda 函数,前提是函数的响应与 API Gateway 所要求的格式保持一致。

将默认响应正文 (Hello from Lambda!) 替换为 The API Gateway REST API console is great!。当您调用示例函数时,它会向客户端返回 200 响应以及更新的响应。

步骤 2:创建 REST API

接下来,您将使用根资源 (/) 创建一个 REST API。

创建 REST API
  1. 通过以下网址登录到 Amazon API Gateway 控制台:https://console.aws.amazon.com/apigateway

  2. 请执行下列操作之一:

    • 要创建第一个 API,对于 REST API,请选择构建

    • 如果您之前已经创建了 API,请选择创建 API,然后为 REST API 选择构建

  3. 对于 API Name (API 名称),请输入 my-rest-api

  4. (可选)对于 Description (描述),输入描述。

  5. API 端点类型设置保留为区域

  6. 选择 Create API(创建 API)。

步骤 3:创建 Lambda 代理集成

接下来,您将在根资源 (/) 上为您的 REST API 创建 API 方法,并使用代理集成将方法与您的 Lambda 函数集成。在 Lambda 代理集成中,API Gateway 将来自客户端的传入请求直接传递给 Lambda 函数。

创建 Lambda 代理集成
  1. 选择 / 资源,然后选择创建方法

  2. 对于方法类型中,选择 ANY

  3. 对于集成类型,选择 Lambda

  4. 打开 Lambda 代理集成

  5. 对于 Lambda 函数,输入 my-function,然后选择您的 Lambda 函数。

  6. 选择创建方法

步骤 4:部署您的 API

接下来,您将创建 API 部署并将其与阶段关联。

部署 API
  1. 选择 Deploy API (部署 API)

  2. 对于阶段,选择新建阶段

  3. 对于 Stage name (阶段名称),输入 Prod

  4. (可选)对于 Description (描述),输入描述。

  5. 选择 Deploy(部署)。

现在,客户端可以调用您的 API。要在部署 API 之前对其进行测试,您可以选择 ANY 方法,导航到测试选项卡,然后选择测试

步骤 5:调用您的 API

调用 API
  1. 从主导航窗格中选择阶段

  2. 阶段详细信息下,选择复制图标以复制您 API 的调用 URL。

  3. 在 Web 浏览器中输入调用 URL。

    完整的 URL 应类似于 https://abcdef123.execute-api.us-east-2.amazonaws.com/Prod

    您的浏览器向 API 发送 GET 请求。

  4. 验证 API 的响应。您应该会在浏览器中看到文本 "The API Gateway REST API console is great!"

(可选)第 6 步:清除

为避免对您的 Amazon Web Services 账户产生不必要的成本,请删除您在本练习中创建的资源。以下步骤将删除您的 REST API、Lambda 函数和相关资源。

删除 REST API
  1. 资源窗格中,选择 API 操作,然后选择删除 API

  2. 删除 API 对话框中,输入确认,然后选择删除

删除 Lambda 函数
  1. 通过以下网址登录 Lambda 控制台:https://console.aws.amazon.com/lambda

  2. 函数页面上,选择您的函数。依次选择操作删除

  3. 删除 1 函数对话框中,输入 delete,然后选择删除

删除 Lambda 函数的日志组
  1. 在 Amazon CloudWatch 控制台中,打开日志组页面。

  2. 日志组页面上,选择函数的日志组 (/aws/lambda/my-function)。然后,对于操作,选择删除日志组

  3. Delete log group(s)(删除日志组)对话框中,选择 Delete(删除)。

删除 Lambda 函数的执行角色
  1. 打开 IAM 控制台的角色页面

  2. (可选)在角色页面的搜索框中,输入 my-function

  3. 选择函数的角色(例如,my-function-31exxmpl),然后选择删除

  4. 删除 my-function-31exxmpl? 对话框中,输入角色的名称,然后选择删除

提示

您可以使用 Amazon CloudFormation 或 Amazon Serverless Application Model (Amazon SAM) 自动创建和清理 Amazon 资源。有关示例 Amazon CloudFormation 模板,请参阅 awsdocs GitHub 存储库中的 API Gateway 示例模板