在 API Gateway 中部署 REST API。 - Amazon API Gateway

在 API Gateway 中部署 REST API。

创建 API 之后,您必须对其进行部署,以便您的用户可以调用它。

要部署 API,您可以创建 API 部署并将其与阶段关联。一个阶段是对您 API 生命周期状态(例如,devprodbetav2)的一次逻辑引用。API 阶段由 API ID 和阶段名称标识。它们包含在您用于调用 API 的 URL 中。每个阶段都是一个对 API 部署的命名引用,可供客户端应用程序调用。

重要

每次更新 API 时,您都必须将 API 重新部署到现有阶段或新阶段。更新 API 涉及修改路由、方法、集成、授权方、资源策略以及除阶段设置之外的任何其他内容。

随着 API 的发展,您可以继续将其作为 API 的不同版本部署到不同阶段。您还可以将 API 更新部署为 Canary 版本部署。这使您的 API 客户端可在相同阶段上,通过生产版本访问正式版本,并通过 Canary 版本访问更新的版本。

为调用已部署 API,客户端对 API 的 URL 提交请求。URL 由 API 的协议(HTTP(S) 或 (WSS))、主机名、阶段名称和(对于 REST API)资源路径确定。主机名和阶段名称确定 API 的基本 URL。

使用 API 的默认域名,给定阶段 ({stageName}) 中的 REST API 的基本 URL(例如)采用以下格式:

https://{restapi-id}.execute-api.{region}.amazonaws.com/{stageName}

要使 API 的默认基本 URL 对用户更友好,您可以创建自定义域名(例如 api.example.com)来替换该 API 的默认主机名。要支持自定义域名下的多个 API,您必须将 API 阶段映射到基本路径。

使用自定义域名 {api.example.com},以及在自定义域名下映射到基本路径 ({basePath}) 的 API 阶段,REST API 的基本 URL 将如下所示:

https://{api.example.com}/{basePath}

对于每个阶段,您可以通过调整默认账户级别请求限制并启用 API 缓存来优化 API 性能。您还可以启用对 CloudTrail 或 CloudWatch 的 API 调用的日志记录,并为后端选择客户端证书以对 API 请求进行身份验证。此外,您也可以覆盖各个方法的阶段级别设置并定义阶段变量,以便在运行时将特定于阶段的环境上下文传递到 API 集成中。

阶段实现了对 API 的可靠版本控制。例如,您可以将 API 部署到 test 阶段和 prod 阶段,并使用 test 阶段作为测试版本,使用 prod 阶段作为稳定版本。更新通过测试之后,您可以将 test 阶段提升到 prod 阶段。可以通过将 API 重新部署到 prod 阶段或者将阶段变量值从 test 的阶段名称更新为 prod 的阶段名称来完成提升。

在本部分中,我们讨论如何使用 API Gateway 控制台或调用 API Gateway REST API 来部署 API。要使用其他工具,请参阅AWS CLI 的文档或者AWS开发工具包