Benutzerdefinierte Kostenkontrolle erstellen
Wenn Sie mehrere BigQuery-Projekte und -Nutzer haben, können Sie die Kosten kontrollieren. Fordern Sie dafür ein benutzerdefiniertes Kontingent an, das die Menge der pro Tag verarbeiteten Abfragedaten begrenzt.
Durch das Erstellen eines benutzerdefinierten Kontingents für Abfragedaten können Sie Kosten auf Projektebene oder auf Nutzerebene steuern.
Benutzerdefinierte Kontingente auf Projektebene beschränken die Gesamtnutzung aller Nutzer in diesem Projekt.
Benutzerdefinierte Kontingente auf Nutzerebene werden separat auf alle Nutzer und Dienstkonten innerhalb eines Projekts angewendet.
Es ist nicht möglich, einem bestimmten Nutzer oder Dienstkonto ein benutzerdefiniertes Kontingent zuzuweisen.
Informationen zu den aktuellen On-Demand-Abfragepreisen finden Sie auf der Preisseite.
Benutzerdefinierte Kontingente festlegen oder ändern
Sie können für die Kontingente auf der Seite Kontingente der Google Cloud Console ein benutzerdefiniertes Kontingent festlegen oder ein vorhandenes ändern. Weitere Informationen finden Sie unter Kontingente über die Google Cloud Console verwalten. Wenn Sie ein niedrigeres Kontingent anfordern, wird die Änderung innerhalb weniger Minuten wirksam. (Wenn Sie ein höheres Kontingent anfordern, wird Ihre Anfrage einen Genehmigungsprozess durchlaufen, was mehr Zeit in Anspruch nehmen kann. Weitere Informationen finden Sie unter Höheres Kontingentlimit anfordern.)
Sie benötigen die Berechtigung serviceusage.quotas.update
, um Ihre Kontingente zu ändern. Die Berechtigung serviceusage.quotas.update
ist in den folgenden vordefinierten IAM-Rollen enthalten:
- In den einfachen Rollen des Inhabers und Bearbeiters
- In der Service Management-Rolle des Kontingentadministrators (
servicemanagement.quotaAdmin
)
Benutzerdefinierte Kontingente erzwingen
Wenn Sie ein benutzerdefiniertes Kontingent festgelegt haben, gibt BigQuery einen Fehler zurück, sobald das Kontingent überschritten wird.
Wenn Sie ein benutzerdefiniertes Kontingent auf Projektebene überschreiten, gibt BigQuery den folgenden usageQuotaExceeded-Fehler zurück:
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
Wenn der Nutzer ein benutzerdefiniertes Kontingent auf Nutzerebene überschreitet, gibt BigQuery einen usageQuotaExceeded
-Fehler mit einer anderen Fehlermeldung zurück:
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
Beispiel
Angenommen, Sie legen folgende benutzerdefinierte Kontingente für ein Projekt mit 10 Nutzern fest, von denen eines ein Dienstkonto ist:
- Projektebene: 50 TB pro Tag
- Nutzerebene: 10 TB pro Tag
Benutzerdefinierte Kontingente auf Projektebene beschränken die Gesamtnutzung aller Nutzer in diesem Projekt. Benutzerdefinierte Kontingente auf Nutzerebene werden separat auf jeden Nutzer oder jedes Dienstkonto innerhalb eines Projekts angewendet.
In der folgenden Tabelle werden die verbleibenden Kontingente beschrieben, während die 10 Nutzer im Laufe des Tages Abfragen ausführen.
Verwendung | Verbleibendes Kontingent |
---|---|
Projektebene: 10 TB verbleiben. Nutzerebene: 6 TB pro Nutzer verbleiben, insgesamt jedoch nur bis zu 10 TB. |
|
Das Dienstkonto fragt weitere 6 TB ab | Projektebene: 4 TB verbleiben. Nutzerebene:: Das Dienstkonto kann BigQuery nicht mehr verwenden. 6 TB pro Nutzer verbleiben für die anderen Nutzer, insgesamt jedoch nur bis zu 4 TB. |
Ein Nutzer fragt weitere 4 TB ab | Projektebene: 0 TB verbleiben. Nutzerebene: Diverse TB verbleiben, aber BigQuery kann von niemandem mehr verwendet werden, weil das Kontingent auf Projektebene überschritten wurde. |
Ohne verbleibendes Kontingent ist BigQuery für niemanden mehr in diesem Projekt verfügbar.
FAQ
Kann ich benutzerdefinierte Kontingente selbst bereitstellen?
Ja, Sie können benutzerdefinierte Kontingente über die Seite Google Cloud Console selbst bereitstellen.
Wie kann ich meine benutzerdefinierten Kontingente aufrufen?
Sie können Ihre benutzerdefinierten Kontingentebenen in der Google Cloud Console einsehen.
Wann wird mein benutzerdefiniertes Kontingent aufgefüllt?
Tageskontingente werden um Mitternacht (UTC -7/-8) zurückgesetzt.
Was geschieht, wenn ich mein benutzerdefiniertes Kontingent überschritten habe, es jedoch zurücksetzen möchte?
Sie können Ihre Abfrage von einem anderen Projekt aus ausführen, das Zugriff auf Ihre Datasets und kein benutzerdefiniertes Kontingent hat oder dieses noch nicht überschritten hat.
Sind benutzerdefinierte Kontingente proaktiv oder reaktiv bzw. kann ich eine Abfrage mit 11 TB ausführen, wenn ich ein Kontingent von 10 TB habe?
Benutzerdefinierte Kontingente sind proaktiv. Mit einem Kontingent von 10 TB können Sie also keine Abfrage mit 11 TB ausführen.