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

如何调用私有 API

一旦部署了 私有 API,您即可通过私有 DNS(如果您已启用私有 DNS 命名)和公有 DNS 访问它。

要获取私有 API 的 DNS 名称,请执行以下操作:

  1. 登录到位于 https://console.aws.amazon.com/vpc/ 的 Amazon VPC 控制台。

  2. 在左侧导航窗格中,选择 Endpoints (终端节点),然后为 API Gateway 选择您的接口 VPC 终端节点。

  3. Details (详细信息) 窗格中,您将看到 DNS names (DNS 名称) 字段中有 5 个值。前 3 个值是您的 API 的公有 DNS 名称。另外 2 个值则是 API 的私有 DNS 名称。

使用私有 DNS 名称调用您的私有 API

如果您已启用了私有 DNS,则可以使用私有 DNS 名称访问您的私有 API,如下所示:

{restapi-id}.execute-api.{region}.amazonaws.com

用于调用 API 的基本 URL 采用以下格式:

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

例如,假设您在本示例中设置 GET /petsGET /pets/{petId} 方法,并假设您的其余 API ID 是 0qzs2sy7bh,您的区域是 us-west-2,则您可以通过在浏览器中键入以下 URL 来测试 API:

https://0qzs2sy7bh.execute-api.us-west-2.amazonaws.com/test/pets

https://0qzs2sy7bh.execute-api.us-west-2.amazonaws.com/test/pets/1

或者,您也可以使用以下 cURL 命令:

curl -X GET https://0qzs2sy7bh.execute-api.us-west-2.amazonaws.com/test/pets

curl -X GET https://0qzs2sy7bh.execute-api.us-west-2.amazonaws.com/test/pets/2

使用特定于终端节点的公有 DNS 主机名调用您的私有 API

您可以使用特定于终端节点的 DNS 主机名访问您的私有 API。这些是包含您的私有 API 的 VPC 终端节点 ID 或 API ID 的公有 DNS 主机名。

基本 URL 采用以下格式:

https://{public-dns-hostname}.execute-api.{region}.vpce.amazonaws.com/{stage}

例如,假设您在本示例中设置了 GET /petsGET /pets/{petId} 方法,并假设您的 API 的 API ID 为 0qzs2sy7bh,其公有 DNS 主机名为 vpce-0c1308d7312217cd7-01234567,而且您的区域为 us-west-2,则可以使用 cURL 命令中的 Host 标头通过 VPCE ID 测试您的 API,如以下示例所示:

curl -v https://vpce-0c1308d7312217cd7-01234567.execute-api.us-east-1.vpce.amazonaws.com/test/pets -H 'Host: 0qzs2sy7bh.execute-api.us-west-2.amazonaws.com'

或者,您可以使用 cURL 命令中的 x-apigw-api-id 标头以下面的格式通过其 API ID 访问您的私有 API:

curl -v https://{vpce-id}.execute-api.{region}.vpce.amazonaws.com/test -H'x-apigw-api-id:{api-id}'

使用 AWS Direct Connect 访问您的私有 API

您还可以使用 AWS Direct Connect 建立从本地网络到 Amazon VPC 的专用私有连接,并通过使用公有 DNS 名称在该连接上访问您的私有 API 终端节点。

您不能使用私有 DNS 名称从本地网络访问您的私有 API。