關於配額

Cloud Endpoints 提供配額,讓您控管應用程式呼叫您 API 的頻率。您可以設定配額來指定使用量限制,藉此保護 API 免於收到呼叫應用程式的過量要求。過量要求的產生可能單純因為錯字,或是因為效率設計不良的系統對您的 API 發出不必要的呼叫。不論原因為何,當來源的流量達到一定程度時,封鎖流量對維護 API 的整體健康狀態來說很重要。只要設定配額,您就能確保單一應用程式無法對使用 API 的其他應用程式造成負面影響。

本頁面提供與配額相關的重要功能總覽。

要求與用戶專案相連結

設定配額後,Endpoints 即會追蹤每個用戶的 Google Cloud Platform (GCP) 專案在每分鐘提出要求的次數。每個呼叫 API 的應用程式都必須符合以下條件:

  • 具備 GCP 專案。
  • 在 GCP 專案中啟用您的 API
  • 隨著每項要求將 API 金鑰傳送到您的 API。如此可讓 Endpoints 識別與呼叫應用程式相關聯的 GCP 專案,並增加該 GCP 專案要求計數器的計次。

如要瞭解如何設定 API 金鑰,請參閱以下內容:

您可以讓 API 用戶在 Google Cloud Platform 主控台建立自己的專案,也可以為他們建立專案。由於 Endpoints 會以「專案」為單位執行配額限制,因此您必須為每個 API 用戶準備一項專案。

限制每分鐘提出的要求次數

您可以透過設定配額,限制每分鐘對整個 API 提出的要求次數;或者只限特定方法的要求次數。如果來自用戶專案的用戶端程式碼超過您設定的限制,則要求會在存取您的 API 之前遭拒,而系統則會傳回 HTTP 狀態碼:429 too many requests。呼叫應用程式必須處理 429 狀態碼的問題,並使用指數輪詢或其他重試邏輯,以降低對 API 的呼叫頻率。

設定一或多個配額

您可以設定一或多個已命名的配額,並為每個配額指定不同的頻率限制。例如,您的 API 可能具備某些會大量消耗資源的方法 (例如執行複雜查詢並傳回大型結果清單的方法),也可能包含其他較為快速且輕量的方法。因此,您可能會想要設定兩個頻率限制相異的配額,將大量消耗資源的方法與其中一個配額建立關聯,並將輕量方法和另一個配額建立關聯。

設定費用

將方法與配額建立關聯之後,請一律為要求指定費用,讓不同的方法以不同的頻率消耗相同配額。此外,費用還可以做為設定不同配額的替代方式。例如,假設您設定的配額為每分鐘限制 1000 次要求。針對輕量方法,設定費用為 1,代表用戶端每分鐘可以呼叫輕量方法 1000 次。而對於大量消耗資源的方法,您可以將費用設為 2,代表每次用戶端呼叫該方法時,要求計數器都會遞增 2,直至達到 1000 次限制為止。實際上,這會將大量消耗資源的方法限制為每分鐘 500 次要求。

覆寫設定的配額

「Endpoints」>「Services」(服務) 頁面會顯示 API 中您為每個方法所設的配額。您可以根據需求覆寫已為特定用戶專案設定的限制。如要設定覆寫值,您必須在「Endpoints」>「Services」(服務) 頁面中輸入所需用戶專案的專案編號。如果您不是要覆寫的用戶專案相關成員,則必須聯絡該專案的成員以取得專案編號。

後續步驟

本頁內容對您是否有任何幫助?請提供意見:

傳送您對下列選項的寶貴意見...

這個網頁
App Engine 適用的 Cloud Endpoints Frameworks
需要協助嗎?請前往我們的支援網頁