限制和配額可避免自動化程序以不當方式使用快訊中心 API,API 的要求過多可能是因為無害的錯字,也可能是因為系統設計效率不彰,導致不必要的 API 呼叫。無論原因為何,一旦特定來源的流量達到一定程度,就必須封鎖該來源的流量,才能確保 Google Workspace 系統的整體健康狀態。確保開發人員的行為不會對廣大社群造成負面影響。
萬一 API 要求失敗,您會收到 HTTP 狀態碼回應。狀態碼 403 包含輸入內容有誤的錯誤資訊,而 HTTP 狀態碼 503 則包含指出超出哪些 API 配額的錯誤資訊。自訂應用程式可透過這些回應偵測錯誤,並採取適當行動。
如果要求必須在固定時間內完成,請並行傳送要求,或在 Java 或 C# 應用程式中使用多個執行緒。舉例來說,平行要求是指要求來自不同使用者的少量電子郵件,而不是同時新增或移除某位使用者的多封電子郵件。如果是執行緒,請先嘗試 10 個執行緒,每個使用者電子郵件地址對應一個執行緒。請注意,執行緒建議有其缺點,不適用於所有 API 情況。如果要求數量過高,就會發生配額錯誤。
對於所有以時間為準的錯誤 (每個執行緒每 N 秒最多 N 個項目),尤其是 503 狀態碼錯誤,建議您的程式碼擷取例外狀況,並使用指數輪詢演算法,等待一小段時間後再重試失敗的呼叫。以一個執行緒為例,Alert Center API 會等待 5 秒,然後重試失敗的呼叫。如果要求成功,請對其他執行緒重複這個模式。如果第二次要求未成功,應用程式應減少要求頻率,直到呼叫成功為止。舉例來說,將初始 5 秒的延遲時間增加至 10 秒,然後再次重試失敗的呼叫。此外,請決定重試次數上限。舉例來說,應用程式可以先以不同的延遲時間重試要求 5 到 7 次,再向使用者傳回錯誤。
| API 限制類別 | 限制 |
|---|---|
| 快訊中心 QPS 和 QPD 率 | API 會限制 Google Cloud 專案的要求數量。API 專案的每秒要求數量上限 (專案 QPS) 為 1000。此外,每位使用者每秒的要求次數上限 (使用者 QPS) 為 150 次。 如果超出這些限制,伺服器會傳回 HTTP |
| 其他類型的限制 | 限制與規範 |
|---|---|
| 資料格式 (預設) | 預設資料格式為 JSON。 |
| 未授權要求 | Google 不允許對這個 API 提出未經授權的要求。如果未提供授權權杖,系統會將要求視為未經授權。詳情請參閱「授權要求」。 |
申請提高每項專案的配額
您可以依據專案的資源用量,要求調整配額。服務帳戶發出的 API 呼叫會視為使用單一帳戶。我們不保證一定能核准您提出的配額調整要求。如果配額調整要求會大幅提高配額值,可能需要較長時間才能通過核准。
並非所有專案的配額都相同。隨著您使用 Google Cloud 的時間越長,可能需要提高配額值。如果預期用量將大幅攀升,可以透過 Google Cloud 控制台的「配額與系統限制」頁面,主動要求調整配額。
如要進一步瞭解相關內容,請參閱下列資源: