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

使用 API Gateway 控制台设置阶段

创建新阶段

初始部署后,您可以添加更多阶段,并将它们与现有部署进行关联。在部署 API 时,您可以使用 API Gateway 控制台来创建和使用新阶段或选择现有阶段。一般来说,重新部署 API 之前,您可以向 API 部署中添加新阶段。要使用 API Gateway 控制台执行此操作,请遵循以下说明。

  1. 通过 https://console.amazonaws.cn/apigateway 登录 API Gateway 控制台。

  2. APIs 导航窗格中,选择某个 API 下的 Stages

  3. Stages 导航窗格中,选择 Create

  4. Create Stage 下,为 Stage name 键入阶段名称,例如 prod

  5. (可选) 为 Stage description 键入阶段描述

  6. Deployment 下拉列表中,选择要与此阶段关联的现有 API 部署的日期和时间。

  7. 选择 Create

更新阶段设置

成功部署 API 后,系统将使用默认设置填充阶段。您可以使用控制台或 API Gateway REST API 更改阶段设置,包括 API 缓存和日志记录。接下来,我们将展示如何使用 API Gateway 控制台的 Stage Editor 来执行这一操作。

使用 API Gateway 控制台更新阶段设置

在继续操作之前,请确保您已部署 API 并至少创建了一个阶段。

  1. 通过 https://console.amazonaws.cn/apigateway 登录 API Gateway 控制台。

  2. APIs 窗格中,选择要用于更新阶段设置的 API,然后选择 Stages

  3. Stages 窗格中,选择该阶段的名称。

  4. Stage Editor 窗格中,选择 Settings 选项卡。

  5. 要启用 API 缓存,请在 Cache Settings 部分下选择 Enable API cache 选项。然后,为 Cache capacityEncrypt cache dataCache time-to-live (TTL) 选择所需选项和相关值,并为每个密钥缓存失效选择要求。有关阶段级别缓存设置的更多信息,请参阅 启用 API 缓存

    重要

    选择此选项后,系统可能会针对 API 缓存向您的 AWS 账户收费。

    提示

    您可以覆盖已启用的阶段级别缓存设置。为此,请在 Stages 二级导航窗格下展开此阶段,然后选择一种方法。接下来,在阶段编辑器中,针对 Settings 选择 Override for this method 选项。在随后的 Cache Settings 区域中,清除 Enable Method Cache 或自定义任何其他所需选项,然后选择 Save Changes。有关方法级别缓存设置的更多信息,请参阅 启用 API 缓存

  6. 要为与此 API Gateway API 的此阶段相关联的所有方法启用 Amazon CloudWatch Logs,请执行以下操作:

    1. CloudWatch Settings 部分下,选择 Enable CloudWatch Logs 选项。

      提示

      要启用方法级别 CloudWatch 设置,请在 Stages 二级导航窗格下展开此阶段,选择感兴趣的每种方法,然后返回阶段编辑器,针对 Settings 选择 Override for this method。在随后的 CloudWatch Settings 区域中,请确保先选择 Log to CloudWatch Logs 和任何其他所需选项,然后再选择 Save Changes

      重要

      我们将针对您访问方法级别 CloudWatch 指标而非 API 级或存储级指标向您的账户收费。

    2. 对于 Log level,请选择 ERROR,以便只将错误级条目写入 CloudWatch Logs,或选择 INFO 以包含所有 ERROR 事件及额外的信息性事件。

    3. 要记录完整的 API 调用请求和响应信息,请选择 Log full requests/responses data。除非已选中 Log full requests/responses data 选项,否则系统不会记录任何敏感数据。

    4. 要让 API Gateway 向 CloudWatch 报告 API callsLatencyIntegration latency400 errors500 errors 的 API 指标,请选择 Enable Detailed CloudWatch Metrics 选项。有关 CloudWatch 的更多信息,请参阅 Amazon CloudWatch 用户指南

    5. 选择 Save Changes。新设置将在新部署完成后生效。

      重要

      要为全部或部分方法启用 CloudWatch Logs,您还必须为某个 IAM 角色指定 ARN,使 API Gateway 能代表您的 IAM 用户将信息写入 CloudWatch Logs。为此,请从 APIs 主导航窗格中选择 Settings。然后在 CloudWatch log role ARN 文本字段中键入某个 IAM 角色的 ARN。对于常见的应用程序场景,IAM 角色可以附加 AmazonAPIGatewayPushToCloudWatchLogs 的托管策略,其中包括以下访问策略语句:

      { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "logs:CreateLogGroup", "logs:CreateLogStream", "logs:DescribeLogGroups", "logs:DescribeLogStreams", "logs:PutLogEvents", "logs:GetLogEvents", "logs:FilterLogEvents" ], "Resource": "*" } ] }

      IAM 角色还必须包含以下信任关系语句:

      { "Version": "2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Principal": { "Service": "apigateway.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }

      有关 CloudWatch 的更多信息,请参阅 Amazon CloudWatch 用户指南

  7. 要为与该 API 相关联的所有方法设置阶段级别限制,请在 Default Method Throttling 部分中执行以下操作:

    1. 对于 Rate,请键入 API Gateway 在不返回 429 Too Many Requests 响应的情况下可以提供的每秒最大阶段级别稳态请求数。该阶段级别速率限制不得超过 API Gateway 对配置和运行 API 的限制 中指定的 账户级别速率限制。

    2. 对于 Burst,请键入 API Gateway 在不返回 429 Too Many Requests 响应的情况下可以提供的最大阶段级别并发请求数。该阶段级别突增限制不得超过 API Gateway 对配置和运行 API 的限制 中指定的账户级别突增限制。

  8. 要覆盖单个方法的阶段级别限制,请在 Stages 二级导航窗格下展开阶段,选择一种感兴趣的方法,然后返回阶段编辑器,针对 Settings 选择 Override for this method。在 Default Method Throttling 区域中,选择相应选项。

删除 API 的阶段

当您不再需要某个阶段时,可以将其删除,以免为未使用的资源付费。接下来,我们将介绍如何使用 API Gateway 控制台删除阶段 。

警告

删除阶段可能会导致 API 调用方无法使用部分或全部相应的 API。删除阶段无法撤销,但您可以重新创建阶段并将其与相同的部署相关联。

使用 API Gateway 控制台删除阶段

  1. 通过 https://console.amazonaws.cn/apigateway 登录 API Gateway 控制台。

  2. 在包含该阶段的 API 名称的框中,选择 Stages

  3. Stages 窗格中,选择要删除的阶段,然后选择 Delete Stage

  4. 系统提示时,选择 Delete