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

在 Amazon API Gateway 中部署 API

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

要部署 API,您创建 API 部署并将其与阶段关联。一个阶段是 API 的一个快照,并使其可供客户端调用。每次更新 API 时 (包括修改方法、集成、授权方以及任何其他阶段设置之外的内容),您必须将 API 重新部署到现有阶段或者部署到新阶段。随着 API 的发展,您可以继续将其作为 API 的不同版本部署到不同阶段。您还可以部署 API 更新作为金丝雀版本部署,这使得您的 API 客户端可在相同阶段上,通过生产版本访问正式版本,并通过金丝雀版本访问更新的版本。

为调用已部署 API,客户端对 API 方法 URL 提交请求。方法 URL 由 API 的主机名、阶段名称和资源路径确定。主机名和阶段名称确定 API 的基本 URL。

使用 API 的默认域名,按以下所示指定阶段 ({stageName}) 中 API 的基础 URL:

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

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

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

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

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

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

您还可以包括金丝雀版本用于测试新更改。这称为金丝雀版本部署。它使得在相同阶段上可以使用 API 的基础版本和更新后版本,让您在相同环境中为基础版本引入新功能。有关更多信息,请参阅 设置 API Gateway 金丝雀版本部署

在本部分中,我们将讨论如何使用 API Gateway 控制台或者调用 API Gateway REST API 部署 API。要使用其他工具执行此操作,请参阅 AWS CLIAWS 开发工具包等文档。

要通过 API 部署实现收益,您可以利用 API Gateway 与 AWS Marketplace 的集成,将您的 API 作为软件即服务 (SaaS) 产品出售。本章还提供了相关说明。