本頁說明配額專案,以及配額專案的決定方式。 請務必正確設定配額專案,以免發生錯誤,以及 Cloud API 要求失敗。
您必須指定配額專案,因為對 Google Cloud API 的每項要求都會計入配額,且配額是依專案強制執行。詳情請參閱「如何設定配額專案」。
gcloud CLI 使用者注意事項:配額專案有時也稱為帳單專案。這是因為 billing_project
標記優先於 gcloud CLI 設定中的 billing/quota_project
屬性。
配額專案的判斷方式
配額專案的決定方式取決於您使用的 API 方法類型:以資源為準的 API 或以用戶端為準的 API。在極少數情況下,服務可能同時有這兩種 API 方法。
以資源為基礎的 API
如果是以資源為基礎的 Cloud API,提供 API 呼叫配額的專案,也是包含所存取資源的專案。舉例來說,建立 Compute Engine 執行個體時,您必須為該執行個體指定專案。專案隨後會包含新建立的執行個體。之後,如果您對 Compute Engine 執行個體執行作業,則包含該執行個體的專案會提供要求配額。無論您使用 Google Cloud CLI、REST API 或用戶端程式庫,都適用這項規定。
您無法變更要求使用的配額專案,這類要求會傳送至以資源為基礎的 API。 要求一律會使用包含要求所操作資源的專案。
以用戶端為基礎的 API
如果 API 不是以資源為基礎,就是以用戶端為基礎。舉例來說,Cloud Translation API 是常用的用戶端 API。
如果您向以用戶端為準的 API 提出要求,但系統無法識別配額專案,要求可能會失敗。配額專案可透過多種方式設定,並透過檢查下列選項進行驗證。系統會依優先順序顯示這些項目:
API 金鑰:如果您使用 API 金鑰為要求提供憑證,系統會將與 API 金鑰相關聯的專案做為配額專案。
Google Cloud CLI 憑證:如果您使用 gcloud CLI 取得存取權杖,並已透過使用者憑證向 gcloud CLI 進行驗證,系統有時會使用 gcloud CLI 共用專案做為配額專案。不過,並非所有以用戶端為基礎的 API 都會改用共用專案。
服務帳戶:如果 API 呼叫的主體是服務帳戶 (包括模擬),則與服務帳戶相關聯的專案會做為配額專案。
員工身分聯盟:如果 API 的主體是員工身分聯盟使用者,則員工集區使用者專案會做為配額專案。
如果先前的檢查都未產生配額專案,要求就會失敗。
關於用戶端 API 的 gcloud CLI 共用專案
如果您使用 gcloud CLI 向以用戶端為基礎的 API 提出要求,但未設定配額專案,要求可能會回溯至 gcloud CLI 共用專案,或要求可能會失敗。所有專案中的所有 gcloud CLI 要求都會使用 gcloud CLI 共用專案,因此如果許多其他 gcloud CLI 要求也將這個專案做為配額專案,共用專案的配額可能會暫時用盡。如果發生這種情況,您的要求會失敗,並顯示配額用盡的錯誤訊息。
找出用戶端 API 目前的配額專案
識別配額專案的方法取決於專案的設定方式:
如果 API 方法設定為使用以資源為準的 API,用戶端專案會將資源專案做為配額專案。
如果已啟用使用者專案覆寫功能,請使用
gcloud [command] --log-http
指令列印記錄,並檢查x-goog-user-project
欄位中顯示的配額專案。如果使用 API 金鑰進行驗證,請使用
gcloud [command] --log-http
指令列印記錄,並檢查x-goog-api-key
欄位中顯示的配額專案。
如果是其他設定,配額專案不會顯示在 HTTP 標頭中。
判斷 API 是以資源為基礎還是以用戶端為基礎
判斷您使用的 API 類型可能並不容易。不過,啟用和配額的強制執行方式相同。舉例來說,如果專案 A 的服務帳戶呼叫專案 B 中的讀取方法,且兩個專案都未啟用 API,則 API not enabled
錯誤訊息會指出系統檢查哪個專案是否已啟用 API。檢查啟用狀態的專案與檢查費率配額的專案相同。
後續步驟
瞭解如何設定配額專案。
進一步瞭解應用程式預設憑證
進一步瞭解驗證。
瞭解配額。
gcloud CLI 使用者:
- 如要進一步瞭解 gcloud CLI 設定,請參閱
gcloud config
參考資料頁面。 - 如要進一步瞭解
--billing_project
標記,請參閱 Google Cloud SDK 參考資料
- 如要進一步瞭解 gcloud CLI 設定,請參閱