Konfigurationseinstellungen verwalten
BigQuery-Administratoren und Projektinhaber können Konfigurationseinstellungen auf Organisations- und Projektebene verwalten. Sie können Konfigurationen festlegen, um die Sicherheit zu erzwingen, Kosten zu kontrollieren und die Abfrageleistung in Ihrer gesamten Dateninfrastruktur zu optimieren. Durch das Festlegen von Standardwerten können Sie für konsistente Compliance und betriebliche Effizienz sorgen und die Verwaltung Ihrer BigQuery-Umgebung vereinfachen.
Konfigurationseinstellungen festlegen
In den folgenden Abschnitten wird beschrieben, wie Sie Standardkonfigurationseinstellungen angeben. Standardeinstellungen werden auf Organisations- oder Projektebene konfiguriert, können jedoch auf Sitzungs- oder Jobebene überschrieben werden. Um ein Standardverhalten zu erzwingen, können Sie Standardeinstellungen in Kombination mit zugehörigen Organisationsrichtlinien konfigurieren.
Erforderliche Rollen
Bitten Sie Ihren Administrator, Ihnen die IAM-Rolle BigQuery-Administrator (roles/bigquery.admin) zuzuweisen, um die Berechtigung zu erhalten, die Sie zum Angeben einer Konfigurationseinstellung 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 bigquery.config.update, die zum Angeben einer Konfigurationseinstellung erforderlich ist.
Sie können diese Berechtigung auch mit benutzerdefinierten Rollen oder anderen vordefinierten Rollen erhalten.
Weitere Informationen zu IAM-Rollen und Berechtigungen in BigQuery finden Sie unter Vordefinierte Rollen und Berechtigungen.
Organisationseinstellungen konfigurieren
Sie können Einstellungen auf Organisationsebene mit den folgenden GoogleSQL-Anweisungen konfigurieren. Wenn Sie die Konfiguration angeben, müssen Sie die Region angeben, in der sie gilt. Sie können nur eine Region für jede Anweisung verwenden.
Mit der DDL-Anweisung ALTER ORGANIZATION SET OPTIONS können Sie die Organisationseinstellungen konfigurieren.
Im folgenden Beispiel werden mehrere Standardkonfigurationen angegeben, darunter:
- Zeitzone:
America/Chicago - Cloud KMS-Schlüssel: ein nutzerdefinierter Schlüssel
- Zeitüberschreitung bei Abfrage: 30 Minuten (1.800.000 Millisekunden)
- Zeitlimit für die Warteschlange für interaktive Abfragen: 10 Minuten (600.000 Millisekunden)
- Zeitlimit der Warteschlange für Batchabfragen: 20 Minuten (1.200.000 Millisekunden)
ALTER ORGANIZATION SET OPTIONS ( `region-REGION.default_time_zone`= 'America/Chicago', -- Ensure all service accounts under the organization have permission to KMS_KEY `region-REGION.default_kms_key_name` = KMS_KEY, `region-REGION.default_query_job_timeout_ms` = 1800000, `region-REGION.default_interactive_query_queue_timeout_ms` = 600000, `region-REGION.default_batch_query_queue_timeout_ms` = 1200000, `region-REGION.default_storage_billing_model`= BILLING_MODEL, `region-REGION.default_max_time_travel_hours` = 72);
Ersetzen Sie Folgendes:
REGION: Die Region, die Ihrem Projekt oder Ihrer Organisation zugeordnet ist, z. B.usodereurope-west6.KMS_KEY: ein benutzerdefinierter Cloud KMS-Schlüssel. Weitere Informationen finden Sie unter Vom Kunden verwaltete Cloud KMS-Schlüssel.BILLING_MODEL: Das Speichermodell für neue Datasets, z. B.PHYSICALfür physische Byte.
Im folgenden Beispiel werden alle Standardeinstellungen auf Organisationsebene gelöscht.
ALTER ORGANIZATION SET OPTIONS ( `region-REGION.default_time_zone` = NULL, `region-REGION.default_kms_key_name` = NULL, `region-REGION.default_query_job_timeout_ms` = NULL, `region-REGION.default_interactive_query_queue_timeout_ms` = NULL, `region-REGION.default_batch_query_queue_timeout_ms` = NULL, `region-REGION.default_storage_billing_model`= NULL, `region-REGION.default_max_time_travel_hours` = NULL);
Projekteinstellungen konfigurieren
Sie können Einstellungen auf Projektebene mit den folgenden GoogleSQL-Anweisungen konfigurieren. Wenn Sie die Konfiguration angeben, müssen Sie die Region angeben, in der sie gilt. Sie können nur eine Region für jede Anweisung verwenden.
Mit der DDL-Anweisung ALTER PROJECT SET OPTIONS können Sie Projekteinstellungen konfigurieren.
Die DDL-Anweisung ALTER PROJECT SET OPTIONS akzeptiert optional die Variable PROJECT_ID. Wenn PROJECT_ID nicht angegeben ist, wird standardmäßig das aktuelle Projekt verwendet, in dem die Abfrage ausgeführt wird.
Im folgenden Beispiel werden mehrere Standardkonfigurationen angegeben:
- Zeitzone:
America/Los_Angeles - Cloud KMS-Schlüssel: Beispielschlüssel
- Zeitüberschreitung bei Abfragen: 1 Stunde
- Zeitüberschreitung der Warteschlange für interaktive Abfragen: 10 Minuten
- Zeitlimit für die Warteschlange für Batchabfragen: 20 Minuten
- Reservierungsbasierte Fairness: aktiviert
ALTER PROJECT PROJECT_ID SET OPTIONS ( `region-REGION.default_time_zone` = 'America/Los_Angeles', -- Ensure all service accounts under the project have permission to KMS_KEY `region-REGION.default_kms_key_name` = KMS_KEY, `region-REGION.default_query_job_timeout_ms` = 3600000, `region-REGION.default_interactive_query_queue_timeout_ms` = 600000, `region-REGION.default_batch_query_queue_timeout_ms` = 1200000, `region-REGION.default_storage_billing_model`= BILLING_MODEL, `region-REGION.default_max_time_travel_hours` = 72, `region-REGION.default_cloud_resource_connection_id` = CONNECTION_ID, `region-REGION.default_sql_dialect_option` = 'default_google_sql', `region-REGION.enable_reservation_based_fairness` = true);
Ersetzen Sie Folgendes:
PROJECT_ID: die ID des Projekts.REGION: Die Region, die Ihrem Projekt oder Ihrer Organisation zugeordnet ist, z. B.usodereurope-west6.KMS_KEY: ein benutzerdefinierter Cloud KMS-Schlüssel. Weitere Informationen finden Sie unter Vom Kunden verwaltete Cloud KMS-Schlüssel.BILLING_MODEL: Das Speichermodell für neue Datasets, z. B.PHYSICALfür physische Byte.CONNECTION_ID: Die ID der Verbindung, die als Standardverbindung für Tabellen und Modelle verwendet werden soll.
Im folgenden Beispiel werden alle Standardeinstellungen auf Projektebene gelöscht. Die Standardeinstellungen verwenden alle Standardeinstellungen auf Organisationsebene, sofern vorhanden. Andernfalls werden alle Standardeinstellungen auf die globale Standardeinstellung festgelegt.
ALTER PROJECT PROJECT_ID SET OPTIONS ( `region-REGION.default_time_zone` = NULL, `region-REGION.default_kms_key_name` = NULL, `region-REGION.default_query_job_timeout_ms` = NULL, `region-REGION.default_interactive_query_queue_timeout_ms` = NULL, `region-REGION.default_batch_query_queue_timeout_ms` = NULL, `region-REGION.default_storage_billing_model`= NULL, `region-REGION.default_max_time_travel_hours` = NULL, `region-REGION.default_cloud_resource_connection_id` = NULL, `region-REGION.default_sql_dialect_option` = NULL, `region-REGION.enable_reservation_based_fairness` = NULL);
Konfigurationen auf Projektebene überschreiben Konfigurationen auf Organisationsebene. Konfigurationen auf Projektebene können wiederum durch Konfigurationen auf Sitzungsebene überschrieben werden, die wiederum durch Konfigurationen auf Jobebene überschrieben werden können.
Konfigurationseinstellungen abrufen
Sie können die Konfigurationseinstellungen für eine Organisation oder ein Projekt mit den folgenden INFORMATION_SCHEMA-Ansichten aufrufen:
INFORMATION_SCHEMA.PROJECT_OPTIONS: Die Konfigurationen, die auf ein Projekt angewendet werden.INFORMATION_SCHEMA.EFFECTIVE_PROJECT_OPTIONS: Die effektiven Konfigurationen, die auf ein Projekt angewendet werden. Effektive Konfigurationen umfassen alle Konfigurationen, die auf Projektebene festgelegt wurden, sowie alle Einstellungen, die das Projekt von einer Organisation übernommen hat.INFORMATION_SCHEMA.ORGANIZATION_OPTIONS: Die auf eine Organisation angewendeten Konfigurationen.
Es kann einige Minuten dauern, bis neue Konfigurationen wirksam werden und in der INFORMATION_SCHEMA-Ansicht widergespiegelt werden.
Erforderliche Rollen
Bitten Sie Ihren Administrator, Ihnen die IAM-Rolle BigQuery-Jobnutzer (roles/bigquery.jobUser) für das angegebene Projekt zuzuweisen. Diese Rolle enthält die Berechtigung, die Sie zum Abrufen von Konfigurationseinstellungen 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 bigquery.config.get, die zum Abrufen von Konfigurationseinstellungen erforderlich ist.
Sie können diese Berechtigung auch mit benutzerdefinierten Rollen oder anderen vordefinierten Rollen erhalten.
Weitere Informationen zu IAM-Rollen und Berechtigungen in BigQuery finden Sie unter Vordefinierte Rollen und Berechtigungen.
Beispiele
Führen Sie folgende Abfrage aus, um die Konfigurationen unter einer Organisation in der us-Region anzuzeigen:
SELECT * FROM region-us.INFORMATION_SCHEMA.ORGANIZATION_OPTIONS;
Führen Sie folgende Abfrage aus, um die effektiven Konfigurationen unter Ihrem Standardprojekt in der us-Region aufzurufen:
SELECT * FROM region-us.INFORMATION_SCHEMA.EFFECTIVE_PROJECT_OPTIONS;
Wenn Sie die Konfigurationen unter Ihrem Standardprojekt in der us-Region aufrufen möchten, führen Sie folgende Abfrage aus:
SELECT * FROM region-us.INFORMATION_SCHEMA.PROJECT_OPTIONS;
Konfigurationseinstellungen
In den folgenden Abschnitten werden die Konfigurationseinstellungen beschrieben, die Sie angeben können.
Einstellungen für die Abfrage- und Jobausführung
Mit den folgenden Einstellungen können Sie steuern, wie Abfragen ausgeführt, zeitlich abgestimmt und in die Warteschlange gestellt werden.
default_batch_query_queue_timeout_ms: Der Standardzeitraum in Millisekunden, in der eine Batchabfrage in die Warteschlange gestellt wird. Wenn nicht festgelegt, beträgt die Standardeinstellung 24 Stunden. Der Mindestwert beträgt 1 Millisekunde. Der Höchstwert beträgt 48 Stunden. Wenn Sie die Warteschlange für Batchabfragen deaktivieren möchten, legen Sie den Wert auf-1fest.default_interactive_query_queue_timeout_ms: Die Standardzeit in Millisekunden, in der eine interaktive Abfrage in die Warteschlange gestellt wird. Wenn nicht festgelegt, beträgt die Standardeinstellung sechs Stunden. Der Mindestwert beträgt 1 Millisekunde. Der Höchstwert beträgt 48 Stunden. Wenn Sie die Warteschlange für interaktive Abfragen deaktivieren möchten, legen Sie den Wert auf-1fest.default_query_job_timeout_ms: Die Standardzeit, nach der ein Abfragejob das Zeitlimit überschreitet, einschließlich der Zeit, in der der Job in der Warteschlange steht, und der Zeit, in der er ausgeführt wird. Das Zeitlimit muss zwischen 5 Minuten und 48 Stunden liegen. Dieses Zeitlimit gilt nur für einzelne Abfragejobs und die untergeordneten Jobs von Skripts. Wenn Sie ein Zeitlimit für Script-Jobs festlegen möchten, verwenden Sie die API-Methode jobs.insert und legen Sie das FeldjobTimeoutMsfest.enable_reservation_based_fairness: Die Option, mit der festgelegt wird, wie freie Slots freigegeben werden. Der Standardwert ist „false“. Das bedeutet, dass inaktive Slots gleichmäßig auf alle Abfrageprojekte verteilt werden. Wenn diese Option aktiviert ist, werden die inaktiven Slots zuerst gleichmäßig auf alle Reservierungen und dann auf die Projekte innerhalb der Reservierung aufgeteilt. Weitere Informationen finden Sie unter Reservierungsbasierte Fairness. Diese Option wird nur auf Projektebene unterstützt. Sie kann nicht auf Organisations- oder Jobebene angegeben werden.default_time_zone: Standardzeitzone, die in zeitzonenabhängigen GoogleSQL-Funktionen verwendet wird, wenn keine Zeitzone als Argument angegeben ist. Diese Konfiguration gilt nicht für nach Zeiteinheit partitionierte Spalten (die die Zeitzone UTC verwenden), für Übertragungen des Storage Transfer Service oder das Laden von Daten mit dem bq-Befehlszeilentool. Weitere Informationen finden Sie unter Zeitzonen.default_query_optimizer_options: Die verlaufsbasierten Abfrageoptimierungen. Mögliche Optionen:'adaptive=on': Verwenden Sie verlaufsbasierte Abfrageoptimierungen.'adaptive=off': Verwenden Sie keine verlaufsbasierten Abfrageoptimierungen.NULL(Standardeinstellung): Verwenden Sie die Standardeinstellung für die verlaufsbasierte Abfrageoptimierung, die'adaptive=on'entspricht.
default_sql_dialect_option: Der Standard-SQL-Abfragedialekt für die Ausführung von Abfragejobs mit dem bq-Befehlszeilentool oder der BigQuery API. Das Ändern dieser Einstellung wirkt sich nicht auf den Standarddialekt in der Konsole aus. Mögliche Optionen:'default_legacy_sql'(Standard): Legacy-SQL wird verwendet, wenn der Abfragedialekt nicht auf Jobebene angegeben ist.'default_google_sql': GoogleSQL wird verwendet, wenn der Abfragedialekt nicht auf Jobebene angegeben ist.'only_google_sql': GoogleSQL wird verwendet, wenn der Abfragedialekt nicht auf Jobebene angegeben ist. Lehnen Sie Jobs ab, bei denen der Abfragedialekt auf Legacy-SQL festgelegt ist.NULL: Verwenden Sie die Standardeinstellung für den Abfragedialekt, die'default_legacy_sql'entspricht.
Einstellungen für die Datenverwaltung
Mit den folgenden Einstellungen können Sie Regeln für die Datenerstellung, Sicherheit und den Lebenszyklus definieren.
default_column_name_character_map: Der Standardbereich und die Standardbehandlung von Zeichen in Spaltennamen. Falls nicht festgelegt, schlagen Ladejobs, die nicht unterstützte Zeichen in Spaltennamen verwenden, mit einer Fehlermeldung fehl. Einige ältere Tabellen sind möglicherweise so festgelegt, dass nicht unterstützte Zeichen in Spaltennamen ersetzt werden. Weitere Informationen finden Sie unterload_option_list.default_kms_key_name: Der standardmäßige Cloud Key Management Service-Schlüssel zum Verschlüsseln von Tabellendaten, einschließlich temporärer oder anonymer Tabellen. Weitere Informationen finden Sie unter Kundenverwaltete Cloud KMS-Schlüssel.default_max_time_travel_hours: Das Standardzeitfenster für neue Datasets in Stunden. Die Dauer muss zwischen 48 und 168 (inklusiv) liegen und durch 24 teilbar sein. Eine Änderung der standardmäßigen maximalen Zeitreisestunden wirkt sich nicht auf vorhandene Datasets aus. Weitere Informationen finden Sie unter Zeitreisen und Datenaufbewahrung.
Kosten- und Ressourceneinstellungen
Mit den folgenden Einstellungen können Sie festlegen, wie Ressourcen abgerechnet und verbunden werden.
default_storage_billing_model: Das Standardabrechnungsmodell für den Speicher für neue Datasets. Legen Sie den Wert aufPHYSICALfest, um physische Bytes bei der Berechnung der Speichergebühren zu verwenden, oder aufLOGICAL, um logische Byte zu verwenden. Eine Änderung des Standardspeicherabrechnungsmodells hat keine Auswirkungen auf vorhandene Datasets. Weitere Informationen finden Sie unter Abrechnungsmodelle für Speicher.default_cloud_resource_connection_id: Die Standardverbindung, die beim Erstellen von Tabellen und Modellen verwendet werden soll. Geben Sie nur die ID oder den Namen der Verbindung an und schließen Sie die angehängten Projekt-ID- und Regionspräfixe aus. Wenn Sie Standardverbindungen verwenden, können die Berechtigungen, die dem Dienstkonto der Verbindung gewährt wurden, je nach Art der Tabelle oder des Modells, das Sie erstellen, aktualisiert werden. Weitere Informationen finden Sie unter Standardverbindung – Übersicht.
Preise
Für die Nutzung des BigQuery-Konfigurationsdienstes fallen keine zusätzlichen Gebühren an. Weitere Informationen finden Sie unter Preise.