将 API 阶段映射到 WebSocket API 的自定义域名 - Amazon API Gateway

将 API 阶段映射到 WebSocket API 的自定义域名

您可以使用 API 映射将 API 阶段连接到自定义域名。创建域名并配置 DNS 记录后,您可以使用 API 映射通过自定义域名向 API 发送流量。

API 映射指定了用于映射的 API、阶段以及可选的路径。例如,您可以将 API 的 production 阶段映射到 wss://api.example.com/orders

在创建 API 映射之前,您必须拥有 API、阶段和自定义域名。要了解有关创建自定义域名的更多信息,请参阅 在 API Gateway 中设置区域自定义域名

限制

  • 在 API 映射中,自定义域名和映射的 API 必须位于同一个AWS账户中。

  • API 映射必须仅包含字母、数字和以下字符:$-_.+!*'()

  • API 映射中路径的最大长度为 300 个字符。

  • 您不能将 WebSocket API 映射到与 HTTP API 或 REST API 相同的自定义域名。

创建 API 映射

要创建 API 映射,您必须首先创建自定义域名、API 和阶段。有关使用自定义域名的更多信息,请参阅 在 API Gateway 中设置区域自定义域名

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

  2. 选择自定义域名

  3. 选择您已经创建的自定义域名。

  4. 选择 API 映射

  5. 选择 Configure API mappings (配置 API 映射)

  6. 选择 Add new mapping (添加新映射)

  7. 输入 API阶段以及可选的路径

  8. 选择 Save

AWS CLI

以下 AWS CLI 命令创建一个 API 映射。在此示例中,API Gateway 将请求发送到 api.example.com/v1,到指定的 API 和阶段。

aws apigatewayv2 create-api-mapping \ --domain-name api.example.com \ --api-mapping-key v1 \ --api-id a1b2c3d4 \ --stage test
AWS CloudFormation

以下 AWS CloudFormation 示例会创建一个 API 映射。

MyApiMapping: Type: 'AWS::ApiGatewayV2::ApiMapping' Properties: DomainName: api.example.com ApiMappingKey: 'v1' ApiId: !Ref MyApi Stage: !Ref MyStage