本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
在 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
-
通过以下网址登录到 Amazon API Gateway 控制台:https://console.aws.amazon.com/apigateway
。 -
请执行下列操作之一:
-
要创建第一个 API,对于 REST API,请选择构建。
-
如果您之前已经创建了 API,请选择创建 API,然后为 REST API 选择构建。
-
对于名称,输入名称。
(可选)对于 Description (描述),输入描述。
将 API 端点类型设置保留为区域。
选择创建 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 /pets
和 GET /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