在 API Gateway 中设置区域 API - Amazon API Gateway
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

在 API Gateway 中设置区域 API

当 API 请求主要来自与 API 部署到的相同区域中的 EC2 实例或服务时,使用区域 API 终端节点通常可以降低连接的延迟,推荐用于此类场景。

注意

在 API 客户端在地理上分散的案例中,它仍可使用区域 API 终端节点以及您自己的 Amazon CloudFront 分配以确保 API Gateway 不会将 API 与服务控制的 CloudFront 分配关联。有关此使用案例的更多信息,请参阅如何使用我自己的 CloudFront 分配设置 API Gateway?

要创建区域 API,您可以按照创建边缘优化的 API 中的步骤操作,但必须明确将 REGIONAL 类型设置为 API 的 endpointConfiguration 的唯一选项。

在下文中,我们演示如何使用 API Gateway 控制台、Amazon CLI、适用于 Javascript 和 Node.js 的Amazon开发工具包创建区域 API。

使用 API Gateway 控制台创建区域 API

使用 API Gateway 控制台创建区域 API
  1. 通过以下网址登录到 Amazon API Gateway 控制台:https://console.aws.amazon.com/apigateway

  2. 请执行下列操作之一:

    • 要创建第一个 API,对于 REST API,请选择构建

    • 如果您之前已经创建了 API,请选择创建 API,然后为 REST API 选择构建

  3. 对于名称,输入名称。

  4. (可选)对于 Description (描述),输入描述。

  5. API 端点类型设置保留为区域

  6. 选择创建 API

使用 Amazon CLI 创建区域 API

要使用 Amazon CLI 创建区域 API,请调用 create-rest-api 命令:

aws apigateway create-rest-api \ --name 'Simple PetStore (Amazon CLI, Regional)' \ --description 'Simple regional PetStore API' \ --region us-west-2 \ --endpoint-configuration '{ "types": ["REGIONAL"] }'

成功的响应返回与以下类似的负载:

{ "createdDate": "2017-10-13T18:41:39Z", "description": "Simple regional PetStore API", "endpointConfiguration": { "types": "REGIONAL" }, "id": "0qzs2sy7bh", "name": "Simple PetStore (Amazon CLI, Regional)" }

从这里开始,您可以按照使用 Amazon CLI 命令设置边缘优化的 API中提供的相同说明来为此 API 设置方法和集成。

使用适用于 JavaScript 的 Amazon 开发工具包创建区域 API

要使用适用于 JavaScript 的 Amazon 开发工具包创建区域 API:

apig.createRestApi({ name: "Simple PetStore (node.js SDK, regional)", endpointConfiguration: { types: ['REGIONAL'] }, description: "Demo regional API created using the Amazon SDK for node.js", version: "0.00.001" }, function(err, data){ if (!err) { console.log('Create API succeeded:\n', data); restApiId = data.id; } else { console.log('Create API failed:\n', err); } });

成功的响应返回与以下类似的负载:

{ "createdDate": "2017-10-13T18:41:39Z", "description": "Demo regional API created using the Amazon SDK for node.js", "endpointConfiguration": { "types": "REGIONAL" }, "id": "0qzs2sy7bh", "name": "Simple PetStore (node.js SDK, regional)" }

完成前面的步骤之后,您可以按照使用适用于 Node.js 的 Amazon 开发工具包设置边缘优化的 API中的说明来为此 API 设置方法和集成。

测试区域 API

在部署后,区域 API 的默认 URL 主机名为以下格式:

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

用于调用 API 的基本 URL 与以下类似:

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

假定您在本示例中设置 GET /petsGET /pets/{petId} 方法,您可以通过在浏览器中键入以下 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

and

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