开始使用 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 函数
通过以下网址登录 Lambda 控制台:https://console.aws.amazon.com/lambda
。 -
选择 Create function (创建函数)。
-
在基本信息 下,对于函数名称,输入
my-function
。 对于所有其它选项,请使用默认设置。
-
选择 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
通过以下网址登录到 Amazon API Gateway 控制台:https://console.aws.amazon.com/apigateway
。 -
请执行以下操作之一:
-
要创建第一个 API,对于 REST API,请选择构建。
-
如果您之前已经创建了 API,请选择创建 API,然后为 REST API 选择构建。
-
-
对于 API 名称,请输入
my-rest-api
。 (可选)对于描述,输入描述。
将 API 端点类型设置保留为区域。
选择创建 API。
步骤 3:创建 Lambda 代理集成
接下来,您将在根资源 (/
) 上为您的 REST API 创建 API 方法,并使用代理集成将方法与您的 Lambda 函数集成。在 Lambda 代理集成中,API Gateway 将来自客户端的传入请求直接传递给 Lambda 函数。
创建 Lambda 代理集成
-
选择
/
资源,然后选择创建方法。 -
对于方法类型中,选择
ANY
。 -
对于集成类型,选择 Lambda。
-
打开 Lambda 代理集成。
-
对于 Lambda 函数,输入
my-function
,然后选择您的 Lambda 函数。 -
选择创建方法。
步骤 4:部署您的 API
接下来,您将创建 API 部署并将其与阶段关联。
部署 API
选择部署 API。
对于阶段,选择新建阶段。
对于阶段名称,输入
Prod
。(可选)对于描述,输入描述。
选择部署。
现在,客户端可以调用您的 API。要在部署 API 之前对其进行测试,您可以选择 ANY 方法,导航到测试选项卡,然后选择测试。
步骤 5:调用您的 API
调用 API
-
从主导航窗格中选择阶段。
-
在阶段详细信息下,选择复制图标以复制您 API 的调用 URL。
-
在 Web 浏览器中输入调用 URL。
完整的 URL 应类似于
https://
。abcd123
.execute-api.us-east-2
.amazonaws.com/Prod您的浏览器向 API 发送
GET
请求。 -
验证 API 的响应。您应该会在浏览器中看到文本
"The API Gateway REST API console is great!"
。
(可选)第 6 步:清除
为避免对您的 Amazon Web Services 账户产生不必要的成本,请删除您在本练习中创建的资源。以下步骤将删除您的 REST API、Lambda 函数和相关资源。
删除 REST API
-
在资源窗格中,选择 API 操作,然后选择删除 API。
-
在删除 API 对话框中,输入确认,然后选择删除。
删除 Lambda 函数
通过以下网址登录 Lambda 控制台:https://console.aws.amazon.com/lambda
。 -
在函数页面上,选择您的函数。依次选择操作、删除。
-
在删除 1 函数对话框中,输入
delete
,然后选择删除。
删除 Lambda 函数的日志组
-
在 Amazon CloudWatch 控制台中,打开日志组
页面。 -
在日志组页面上,选择函数的日志组 (
/aws/lambda/my-function
)。然后,对于操作,选择删除日志组。 -
在 Delete log group(s)(删除日志组)对话框中,选择 Delete(删除)。
删除 Lambda 函数的执行角色
-
打开 IAM 控制台的角色页面
。 -
(可选)在角色页面的搜索框中,输入
my-function
。 -
选择函数的角色(例如,
my-function-
),然后选择删除。31exxmpl
-
在删除
my-function-
? 对话框中,输入角色的名称,然后选择删除。31exxmpl
提示
您可以使用 Amazon CloudFormation 或 Amazon Serverless Application Model (Amazon SAM) 自动创建和清理 Amazon 资源。有关示例 Amazon CloudFormation 模板,请参阅 awsdocs GitHub 存储库中的 API Gateway 示例模板