建立自訂查詢配額

本文說明如何設定或修改自訂查詢配額,以控管費用。如要瞭解 BigQuery 分析師如何估算及控管費用,請參閱「估算及控管費用」。

如果您同時擁有多個 BigQuery 專案和使用者,則可以提出自訂配額要求並指定每日處理的資料量上限,藉此達到管控成本的目的。系統會在太平洋時間凌晨 12 點重設每日配額。

自訂配額會主動發揮作用,因此如果配額為 10 TB,您就無法執行資料量為 11 TB 的查詢作業。為處理的資料量建立自訂配額之後,您就能掌控專案層級或使用者層級的費用。

如要設定自訂成本控制項,請更新下列一或兩項查詢配額:

  • QueryUsagePerDay:專案層級的自訂配額會限制同一專案中所有使用者的匯總用量。

  • QueryUsagePerUserPerDay:使用者層級的自訂配額會分別套用至專案中的所有使用者和服務帳戶

如要進一步瞭解可設定的 BigQuery 配額,請參閱配額與限制

必要角色

如要取得變更配額所需的權限,請要求管理員為您授予專案的配額管理員 (role/servicemanagement.quotaAdmin) 身分與存取權管理角色。如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和機構的存取權」。

這個預先定義的角色具備 serviceusage.quotas.update權限,這是變更配額的必要條件。

您或許還可透過自訂角色或其他預先定義的角色取得這項權限。

設定或修改自訂配額

您可以為 Google Cloud 管理中心的「配額和系統限制」頁面顯示的任何配額,設定自訂配額或修改現有的自訂配額。要求調降配額時,變更會在幾分鐘內生效。如果您要求提高配額,要求會經過核准程序,可能需要較長時間。詳情請參閱「要求調整配額」。

如要設定或更新自訂費用控管機制,例如限制每天可處理的 BigQuery 資料量,請按照下列步驟操作:

  1. 在 Google Cloud 控制台,依序開啟「IAM 與管理」>「配額與系統限制」頁面:

    前往「配額與系統限制」

  2. 在「Filter」(篩選器)搜尋框中使用「Service」(服務) 篩選器,篩選出 BigQuery API。

  3. 選取要調整的配額。舉例來說,如要限制專案和使用者層級的每日查詢資料量,請選取「每日查詢次數」和「每人每天查詢次數」。你可能需要捲動清單才能找到這些項目。選取配額後,工具列隨即顯示。

  4. 按一下工具列中的「編輯」圖示 。 「Quota changes」(配額變更) 對話方塊隨即開啟。

  5. 如果選取「無限制」,請取消選取。

  6. 在「New value」(新值) 欄位輸入所需的配額值 (以 TiB 為單位)。

  7. 按一下 [完成]

  8. 按一下 [提交要求]

如要進一步瞭解如何查看及管理配額,請參閱「查看及管理配額」。

傳回的錯誤訊息

設定自訂配額之後,如果您超過該上限,BigQuery 就會傳回錯誤訊息:

  • 如果您超過專案層級的自訂配額,BigQuery 會傳回 usageQuotaExceeded 錯誤:

    Custom quota exceeded: Your usage exceeded the custom quota for
    QueryUsagePerDay, which is set by your administrator. For more information,
    see https://cloud.google.com/bigquery/cost-controls
  • 如果使用者超過使用者層級的自訂配額,BigQuery 會傳回 usageQuotaExceeded 錯誤,但訊息內容不同:

    Custom quota exceeded: Your usage exceeded the custom quota for
    QueryUsagePerUserPerDay, which is set by your administrator. For more
    information, see https://cloud.google.com/bigquery/cost-controls

您可以透過其他專案執行查詢作業,不過前提是該項專案可存取您的資料集,並且沒有設定自訂配額或尚未超過配額上限。

範例

假設您已為包含 10 名使用者的專案設定下列自訂配額,且其中一名使用者為服務帳戶:

  • 專案層級:每日 50 TB
  • 使用者層級:每日 10 TB

專案層級的自訂配額會限制同一專案中所有使用者的匯總用量。使用者層級的自訂配額會分別套用至單一專案中的每個使用者或服務帳戶

下表說明 10 位使用者在單日內執行完所需查詢後的剩餘配額。

用量 剩餘配額
10 位使用者的查詢量各為 4 TB 專案層級:剩餘 10 TB。
使用者層級:每位使用者各剩餘 6 TB,但總計最多只能再使用 10 TB。
服務帳戶使用了另外的 6 TB 查詢量 專案層級:剩餘 4 TB。
使用者層級:服務帳戶無法繼續使用 BigQuery。其他使用者各剩餘 6 TB,但總計最多只能再使用 4 TB。
1 名使用者使用了另外的 4 TB 查詢量 專案層級:剩餘 0 TB。
使用者層級:每位使用者剩餘的 TB 數各不相同。不過由於已超出專案層級的配額上限,因此所有使用者均不得使用 BigQuery。

由於已無剩餘配額,該項專案中的每位使用者都無法繼續使用 BigQuery。

後續步驟