Benutzerdefinierte Abfragekontingente erstellen

In diesem Dokument wird beschrieben, wie Sie benutzerdefinierte Abfragekontingente festlegen oder ändern, um Kosten zu kontrollieren. Informationen, wie BigQuery-Analysten Kosten schätzen und kontrollieren können, finden Sie unter Kosten schätzen und kontrollieren.

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 Daten begrenzt. Die Kontingente werden jeden Tag um Mitternacht (Pacific Standard Time) zurückgesetzt.

Benutzerdefinierte Kontingente sind proaktiv. Mit einem Kontingent von 10 TB können Sie also keine Abfrage mit 11 TB ausführen. Durch das Erstellen eines benutzerdefinierten Kontingents für verarbeitete Daten können Sie Kosten auf Projektebene oder auf Nutzerebene steuern.

Wenn Sie benutzerdefinierte Kostenkontrollen festlegen möchten, können Sie eines oder beide der folgenden Abfragekontingente aktualisieren:

  • QueryUsagePerDay: Benutzerdefinierte Kontingente auf Projektebene beschränken die Gesamtnutzung aller Nutzer in diesem Projekt.

  • QueryUsagePerUserPerDay: Benutzerdefinierte Kontingente auf Nutzerebene werden separat auf alle Nutzer und Dienstkonten innerhalb eines Projekts angewendet. Unabhängig vom Limit pro Nutzer darf die Gesamtnutzung aller Nutzer im Projekt zusammen das Limit für die Abfragenutzung pro Tag nie überschreiten.

Das Standardlimit für das QueryUsagePerDay-Kontingent beträgt 200 Tebibyte (TiB) an Daten, die pro Projekt und Tag verarbeitet werden. Das Standardlimit für QueryUsagePerUserPerDay ist unbegrenzt. Ihre aktuellen Limits finden Sie auf der Seite „Kontingente“. Sie können die Grenzwerte jederzeit ändern. Benutzerdefinierte Überschreibungen haben Vorrang vor den Standardgrenzwerten.

Kontingente für die Abfragenutzung gelten nur für das On-Demand-Preismodell für Abfragen.

Weitere Informationen zu BigQuery-Kontingenten, die Sie festlegen können, finden Sie unter Kontingente und Limits.

Erforderliche Rolle

Bitten Sie Ihren Administrator, Ihnen die IAM-Rolle „Kontingentadministrator“ (role/servicemanagement.quotaAdmin) für Ihr Projekt zuzuweisen, um die Berechtigung zu erhalten, die Sie zum Ändern Ihres Kontingents benötigen. Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff auf Projekte, Ordner und Organisationen verwalten.

Diese vordefinierte Rolle enthält die Berechtigung serviceusage.quotas.update, die zum Ändern Ihres Kontingents erforderlich ist.

Sie können diese Berechtigung auch mit benutzerdefinierten Rollen oder anderen vordefinierten Rollen erhalten.

Benutzerdefinierte Kontingente festlegen oder ändern

Sie können für die Kontingente auf der Seite Kontingente und Systemlimits der Google Cloud Console ein benutzerdefiniertes Kontingent festlegen oder ein vorhandenes ändern. 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 Kontingentanpassung anfordern.

So legen Sie eine benutzerdefinierte Kostenkontrolle fest oder aktualisieren sie, z. B. um die Menge der BigQuery-Daten zu begrenzen, die täglich verarbeitet werden können:

  1. Öffnen Sie in der Google Cloud Console die Seite IAM & Verwaltung > Kontingente und Systemlimits:

    Zur Seite „Kontingente und Systemlimits“

  2. Verwenden Sie den Filter Dienst im Suchfeld Filter, um nach der BigQuery API zu filtern.

  3. Wählen Sie die Kontingente aus, die Sie anpassen möchten. Wenn Sie beispielsweise die Menge der Daten begrenzen möchten, die pro Tag sowohl auf Projekt- als auch auf Nutzerebene abgefragt werden können, wählen Sie Abfragenutzung pro Tag und Abfragenutzung pro Tag und Nutzer aus. Eventuell müssen Sie durch die Liste blättern, um sie zu finden. Nachdem Sie ein Kontingent ausgewählt haben, wird eine Symbolleiste angezeigt.

  4. Klicken Sie in der Symbolleiste auf  Bearbeiten. Das Dialogfeld Kontingentänderungen wird geöffnet.

  5. Wenn Unbegrenzt ausgewählt ist, heben Sie die Auswahl auf.

  6. Geben Sie den gewünschten Kontingentwert in TiB in das Feld Neuer Wert ein.

  7. Klicken Sie auf Fertig.

  8. Klicken Sie auf Anfrage senden.

Weitere Informationen zum Aufrufen und Verwalten von Kontingenten finden Sie unter Kontingente aufrufen und verwalten.

Zurückgegebene Fehlermeldungen

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 Fehler usageQuotaExceeded 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

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.

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.

Nächste Schritte