将 API 阶段映射到 REST API 的自定义域名
您可以使用 API 映射将 API 阶段连接到自定义域名。创建域名并配置 DNS 记录后,您可以使用 API 映射通过自定义域名向 API 发送流量。
API 映射指定了用于映射的 API、阶段以及可选的路径。例如,您可以将 API 的 production
阶段映射到 https://api.example.com/orders
。
您可以将 HTTP 和 REST API 阶段映射到相同的自定义域名。
在创建 API 映射之前,您必须拥有 API、阶段和自定义域名。要了解有关创建自定义域名的更多信息,请参阅 在 API Gateway 中设置区域自定义域名。
路由 API 请求
您可以使用多个级别配置 API 映射,例如 orders/v1/items
和 orders/v2/items
。
注意
要配置具有多个级别的 API 映射,您必须将区域自定义域名与 TLS 1.2 安全策略结合使用。
对于具有多个级别的 API 映射,API Gateway 将请求路由到匹配路径最长的 API 映射。选择要调用的 API 时,API Gateway 仅考虑为 API 映射配置的路径,而不考虑 API 路由。如果没有与请求匹配的路径,API Gateway 会将请求发送到已映射到空路径 (none)
的 API。
对于使用具有多个级别的 API 映射的自定义域名,API Gateway 将请求路由到匹配前缀最长的 API 映射。
例如,考虑使用以下 API 映射的自定义域名 https://api.example.com
:
-
(none)
映射到 API 1。 -
orders
映射到 API 2。 -
orders/v1/items
映射到 API 3。 -
orders/v2/items
映射到 API 4。 -
orders/v2/items/categories
映射到 API 5。
请求 | 选定的 API | 说明 |
---|---|---|
|
|
请求完全匹配此 API 映射。 |
|
|
请求完全匹配此 API 映射。 |
|
|
请求完全匹配此 API 映射。 |
|
|
API Gateway 选择匹配路径最长的映射。请求结尾处的 |
|
|
API Gateway 选择匹配路径最长的映射。 |
|
|
API Gateway 使用空映射作为“捕获全部”。 |
|
|
API Gateway 选择匹配前缀最长的映射。对于配置了单级映射的自定义域名(例如,仅 |
限制
-
在 API 映射中,自定义域名和映射的 API 必须位于同一个AWS账户中。
-
API 映射必须仅包含字母、数字和以下字符:
$-_.+!*'()/
。 -
API 映射中路径的最大长度为 300 个字符。
-
每个域名可以有 200 个具有多个级别的 API 映射。
-
您只能使用 TLS 1.2 安全策略将 HTTP API 映射到区域自定义域名。
-
您不能将 WebSocket API 映射到与 HTTP API 或 REST API 相同的自定义域名。
创建 API 映射
要创建 API 映射,您必须首先创建自定义域名、API 和阶段。有关使用自定义域名的更多信息,请参阅 在 API Gateway 中设置区域自定义域名。
例如,创建所有资源的 AWS Serverless Application Model 模板,请参阅 GitHub 上的使用 SAM 的会话