Benutzerdefinierte Kostenkontrollen 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

Unter Kontingente in der Cloud Console verwalten erfahren Sie, wie Sie ein benutzerdefiniertes Kontingent festlegen oder ein vorhandenes benutzerdefiniertes Kontingent ändern. Kontingentänderungen werden in der Regel innerhalb weniger Minuten übernommen.

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:

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 ein 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

Wenn Sie in Ihrer Abfrage den Filter _PARTITIONTIME oder _TABLE_SUFFIX verwenden, wird möglicherweise ein unerwarteter quotaExceeded-Fehler angezeigt. Wenn BigQuery Ihre Abfrage daraufhin überprüft, ob sie zur Überschreitung des benutzerdefinierten Kontingents führen würde, werden die Filter _PARTITIONTIME oder _TABLE_SUFFIX in der Abfrage derzeit ignoriert.

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
Jeder der 10 Nutzer fragt eine Datenmenge von 4 TB ab 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

Können Kunden benutzerdefinierte Kontingente selbst bereitstellen?

Ja, Kontingente können über die Seite Google Cloud Console selbst bereitgestellt werden.

Wo finde ich meine benutzerdefinierten Kontingente?

Kontingente können über die Seite Google Cloud Console angezeigt werden.

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.