Cloud Endpoints 提供了配额功能,这有助于您控制应用调用 API 的速率。您可以通过设置配额指定用量限制,以免 API 收到调用应用的过多请求。请求过多可能是由于简单的拼写错误所致,也可能是由于低效系统对您的 API 进行不必要的调用所致。无论是何种原因,您都应在来自特定来源的流量达到某一级别时阻止该流量,这是保证 API 总体运行良好所必需的。通过设置配额,您可以确保一个应用不会对使用您的 API 的其他应用产生负面影响。
本页简要介绍配额提供的关键功能。
请求与使用方项目关联
在您配置配额后,Endpoints 会跟踪每个使用方 Google Cloud 项目的每分钟请求数。调用您的 API 的每个应用都必须满足以下条件:
将 API 密钥随每个请求一起发送给您的 API。这样,Endpoints 便可识别与调用应用关联的Google Cloud Google Cloud 项目,并递增该项目的请求计数器。
您可以让 API 使用方在 Google Cloud 控制台中创建自己的项目,也可以为他们创建项目。由于 Endpoints 会对每个项目强制执行配额限制,因此每个 API 使用方必须各有一个项目。
限制每分钟的请求数
通过设置配额,您可以限制每分钟对整个 API 或仅对特定方法的请求数。如果使用方项目中的客户端代码超出了您配置的限制,则请求将被拒绝且无法到达您的 API,同时系统会返回 HTTP 状态代码 429 too many
requests。调用应用将需要处理 429 状态代码,并使用指数退避算法或其他一些重试逻辑降低对 API 的调用速率。
配置一个或多个配额
您可以配置一个或多个命名配额,并为每个配额指定不同的速率限制。例如,您的 API 中可能有一些资源密集型方法(例如,运行复杂查询并返回大量结果的方法),以及其他快速轻量级方法。您可能需要配置两个具有不同速率限制的配额,并将资源密集型方法与一个配额相关联,而将轻量级方法与另一个配额相关联。
[[["易于理解","easyToUnderstand","thumb-up"],["解决了我的问题","solvedMyProblem","thumb-up"],["其他","otherUp","thumb-up"]],[["很难理解","hardToUnderstand","thumb-down"],["信息或示例代码不正确","incorrectInformationOrSampleCode","thumb-down"],["没有我需要的信息/示例","missingTheInformationSamplesINeed","thumb-down"],["翻译问题","translationIssue","thumb-down"],["其他","otherDown","thumb-down"]],["最后更新时间 (UTC):2025-04-01。"],[[["Cloud Endpoints quotas allow you to control the rate at which applications can call your API, protecting it from excessive requests."],["Quotas are tracked per minute per consumer Google Cloud project, requiring each calling application to have a project, enable your API, and send an API key."],["You can limit requests to your entire API or specific methods, with requests exceeding the limit receiving a `429` HTTP status code."],["Endpoints enforces quotas with an approximate 30% margin of error due to aggregation and batching at the proxy to reduce runtime request latency."],["You can configure multiple named quotas with varying rate limits and costs, and you can also override the configured quota limit for a specific consumer project if needed."]]],[]]