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

在 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 Gateway,您会看到一个介绍服务功能的页面。在 REST API 下,选择 Build (生成)。当 Create Example API (创建示例 API) 弹出框出现时,选择 OK (确定)

    如果这不是您首次使用 API Gateway,请选择创建 API。在 REST API 下,选择 Build (生成)

    1. 选择 New API (新 API)

    2. API Name (API 名称) 中输入名称。

    3. 还可选择在 Description (描述) 中添加简短描述。

    4. 选择 Create API (创建 API)

从这里开始,您可以继续设置 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 /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

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