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.

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.

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.

Globale Einstellungen festlegen

Sie können globale Einstellungen auf Organisations- oder Projektebene festlegen.

Beschränkungen

Für globale Konfigurationseinstellungen gelten die folgenden Einschränkungen:

  • Globale Organisations- und Projekteinstellungen sind in BigQuery Omni-Standorten nicht verfügbar.
  • Wenn Sie die globale Einstellung default_location ändern, kann es bis zu 10 Minuten dauern, bis die Änderung übernommen wird. Bis die Einstellung übernommen wurde, können berechtigte Anfragen an den vorherigen Standardspeicherort weitergeleitet werden.

Globale Organisationseinstellungen konfigurieren

Wenn Sie keinen Standort explizit angeben, wird der Standort auf eine der folgenden Arten ermittelt:

  • Der Speicherort der Datasets, auf die in der Anfrage verwiesen wird. Wenn eine Abfrage beispielsweise auf eine Tabelle oder Ansicht in einem Dataset verweist, das in der Region asia-northeast1 gespeichert ist, wird der Abfragejob in asia-northeast1 ausgeführt.
  • Die für eine in einer Anfrage referenzierte Verbindung angegebene Region.
  • Der Speicherort einer Zieltabelle.

Wenn der Standort nicht explizit angegeben ist und nicht anhand der Ressourcen in der Anfrage ermittelt werden kann, wird der Standardspeicherort verwendet. Wenn kein Standardspeicherort festgelegt ist, wird der Job in der multiregionalen Region US ausgeführt.

Mit der DDL-Anweisung ALTER ORGANIZATION SET OPTIONS können Sie globale Einstellungen auf Organisationsebene konfigurieren. Der Standardspeicherort ist die einzige globale Organisationseinstellung. Der Standardspeicherort wird verwendet, um Jobs auszuführen, wenn der Speicherort nicht aus der Anfrage abgeleitet werden kann.

Wenn Sie den Standardstandort konfigurieren, geben Sie keine Region an, in der die Einstellung gilt. Globale und regionale Einstellungen können nicht in derselben DDL-Anweisung kombiniert werden.

So konfigurieren Sie default_location auf Organisationsebene:

Console

  1. Rufen Sie in der Google Cloud Console die Seite BigQuery auf.

    BigQuery aufrufen

  2. Klicken Sie auf den Abfrageeditor. Dieser Tab ist mit search_insights Unbenannte Abfrage gekennzeichnet.

  3. Geben Sie die folgende DDL-Anweisung in den Abfrageeditor ein, um die default_location zu konfigurieren:

      ALTER ORGANIZATION
      SET OPTIONS (
      `default_location` = 'LOCATION');

    Ersetzen Sie LOCATION durch einen regionalen oder multiregionalen Standort. Dieser Wert ist der Standort, der zum Ausführen von Jobs verwendet wird, wenn er nicht aus der Anfrage abgeleitet werden kann. Der Standardspeicherort wird beispielsweise verwendet, wenn der Speicherort der Datasets in einer Abfrage nicht ermittelt werden kann.

  4. Alternativ können Sie die globalen Einstellungen auf Organisationsebene für default_location löschen, indem Sie die folgende DDL-Anweisung in den Abfrageeditor eingeben:

      ALTER ORGANIZATION
      SET OPTIONS (
      `default_location` = NULL);
  5. Klicken Sie auf Ausführen.

bq

  1. Wenn Sie die default_location auf Organisationsebene konfigurieren möchten, geben Sie den Befehl bq query ein und geben Sie die folgende DDL-Anweisung als Abfrageparameter an. Legen Sie das Flag use_legacy_sql auf false fest.

      bq query --use_legacy_sql=false \
      'ALTER ORGANIZATION
      SET OPTIONS (
      `default_location` = 'LOCATION');'

    Ersetzen Sie LOCATION durch einen regionalen oder multiregionalen Standort. Dieser Wert ist der Ort, der zum Ausführen von Jobs verwendet wird, wenn er nicht aus der Anfrage abgeleitet werden kann. Der Standardspeicherort wird beispielsweise verwendet, wenn der Speicherort der Datasets in einer Abfrage nicht ermittelt werden kann.

  2. Wenn Sie default_location auf Organisationsebene löschen möchten, geben Sie den Befehl bq query ein und geben Sie die folgende DDL-Anweisung als Abfrageparameter an. Legen Sie für das Flag use_legacy_sql den Wert false fest.

      bq query --use_legacy_sql=false \
      'ALTER ORGANIZATION
      SET OPTIONS (
      `default_location` = NULL);'

API

Rufen Sie die Methode jobs.query auf und geben Sie die DDL-Anweisung im Attribut query des Anfragetextes an.

Die DDL-Funktionalität erweitert die von einer Jobressource zurückgegebenen Informationen. statistics.query.statementType enthält die folgenden zusätzlichen Werte:

  • CREATE_TABLE
  • CREATE_TABLE_AS_SELECT
  • DROP_TABLE
  • CREATE_VIEW
  • DROP_VIEW

statistics.query hat zwei zusätzliche Felder:

  • ddlOperationPerformed: Der DDL-Vorgang wurde ausgeführt, möglicherweise abhängig davon, ob das DDL-Ziel vorhanden ist. Zu den aktuellen Werten gehören:
    • CREATE: Die Abfrage hat das DDL-Ziel erstellt.
    • SKIP: Managementfrei. Beispiele: CREATE TABLE IF NOT EXISTS wurde gesendet und die Tabelle ist vorhanden. Oder DROP TABLE IF EXISTS wurde gesendet und die Tabelle ist nicht vorhanden.
    • REPLACE: Die Abfrage hat das DDL-Ziel ersetzt. Beispiel: CREATE OR REPLACE TABLE wurde gesendet und die Tabelle ist bereits vorhanden.
    • DROP: Die Abfrage hat das DDL-Ziel gelöscht.
  • ddlTargetTable: Wenn Sie die Anweisung CREATE TABLE/VIEW oder DROP TABLE/VIEW senden, wird die Zieltabelle als Objekt mit drei Feldern zurückgegeben:
    • "projectId": String
    • „datasetId“: String
    • "tableId": String

Globale Projekteinstellungen konfigurieren

Wenn Sie keinen Standort explizit angeben, wird der Standort auf eine der folgenden Arten ermittelt:

  • Der Speicherort der Datasets, auf die in der Anfrage verwiesen wird. Wenn eine Abfrage beispielsweise auf eine Tabelle oder Ansicht in einem Dataset verweist, das in der Region asia-northeast1 gespeichert ist, wird der Abfragejob in asia-northeast1 ausgeführt.
  • Die für eine in einer Anfrage referenzierte Verbindung angegebene Region.
  • Der Speicherort einer Zieltabelle.

Wenn der Standort nicht explizit angegeben ist und nicht anhand der Ressourcen in der Anfrage ermittelt werden kann, wird der Standardspeicherort verwendet. Wenn kein Standardspeicherort festgelegt ist, wird der Job in der multiregionalen Region US ausgeführt.

Mit der DDL-Anweisung ALTER PROJECT SET OPTIONS können Sie globale Einstellungen auf Projektebene 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 Sie die ALTER PROJECT-DDL-Anweisung ausführen.

Der Standardstandort ist die einzige globale Projekteinstellung. Wenn Sie den Standardspeicherort konfigurieren, geben Sie keine Region an, in der die Einstellung gilt. Globale und regionale Einstellungen können nicht in derselben DDL-Anweisung kombiniert werden.

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.

So konfigurieren Sie default_location auf Projektebene:

Console

  1. Rufen Sie in der Google Cloud Console die Seite „BigQuery“ auf.

    BigQuery aufrufen

  2. Klicken Sie auf den Abfrageeditor. Dieser Tab ist mit search_insights Unbenannte Abfrage gekennzeichnet.

  3. Geben Sie die folgende DDL-Anweisung in den Abfrageeditor ein, um die default_location zu konfigurieren:

      ALTER PROJECT PROJECT_ID
      SET OPTIONS (
      `default_location` = 'LOCATION');

    Ersetzen Sie Folgendes:

    • PROJECT_ID: Projekt-ID.

    • LOCATION: ein regionaler oder multiregionaler Speicherort. Dieser Wert ist der Ort, an dem Jobs ausgeführt werden, wenn er nicht aus der Anfrage abgeleitet werden kann. Der Standardspeicherort wird beispielsweise verwendet, wenn der Speicherort der Datasets in einer Abfrage nicht ermittelt werden kann.

  4. Alternativ können Sie die Einstellung default_location löschen, indem Sie die folgende DDL-Anweisung in den Abfrageeditor eingeben. Wenn Sie das default_location auf Projektebene deaktivieren, werden Standardeinstellungen auf Organisationsebene verwendet, sofern vorhanden. Andernfalls wird die Standardeinstellung des Systems verwendet.

      ALTER PROJECT PROJECT_ID
      SET OPTIONS (
      `default_location` = NULL);
  5. Klicken Sie auf Ausführen.

bq

  1. Wenn Sie default_location auf Projektebene konfigurieren möchten, geben Sie den Befehl bq query ein und geben Sie die folgende DDL-Anweisung als Abfrageparameter an. Legen Sie das Flag use_legacy_sql auf false fest.

      bq query --use_legacy_sql=false \
      'ALTER PROJECT PROJECT_ID
      SET OPTIONS (
      `default_location` = 'LOCATION');'

    Ersetzen Sie Folgendes:

    • PROJECT_ID: Projekt-ID.
    • LOCATION: ein regionaler oder multiregionaler Speicherort. Dieser Wert ist der Standort, der zum Ausführen von Jobs verwendet wird, wenn er nicht aus der Anfrage abgeleitet werden kann. Der Standardspeicherort wird beispielsweise verwendet, wenn der Speicherort der Datasets in einer Abfrage nicht ermittelt werden kann.
  2. Alternativ können Sie die default_location auf Projektebene löschen. Geben Sie dazu den Befehl bq query ein und geben Sie die folgende DDL-Anweisung als Abfrageparameter an. Legen Sie für das Flag use_legacy_sql den Wert false fest. Wenn Sie das default_location auf Projektebene deaktivieren, werden Standardeinstellungen auf Organisationsebene verwendet, sofern vorhanden. Andernfalls wird die Standardeinstellung des Systems verwendet.

      bq query --use_legacy_sql=false \
      'ALTER PROJECT PROJECT_ID
      SET OPTIONS (
      `default_location` = NULL);'

API

Rufen Sie die Methode jobs.query auf und geben Sie die DDL-Anweisung im Attribut query des Anfragetextes an.

Die DDL-Funktionalität erweitert die von einer Jobressource zurückgegebenen Informationen. statistics.query.statementType enthält die folgenden zusätzlichen Werte:

  • CREATE_TABLE
  • CREATE_TABLE_AS_SELECT
  • DROP_TABLE
  • CREATE_VIEW
  • DROP_VIEW

statistics.query hat zwei zusätzliche Felder:

  • ddlOperationPerformed: Der DDL-Vorgang wurde ausgeführt, möglicherweise abhängig davon, ob das DDL-Ziel vorhanden ist. Zu den aktuellen Werten gehören:
    • CREATE: Die Abfrage hat das DDL-Ziel erstellt.
    • SKIP: Managementfrei. Beispiele: CREATE TABLE IF NOT EXISTS wurde gesendet und die Tabelle ist vorhanden. Oder DROP TABLE IF EXISTS wurde gesendet und die Tabelle ist nicht vorhanden.
    • REPLACE: Die Abfrage hat das DDL-Ziel ersetzt. Beispiel: CREATE OR REPLACE TABLE wurde gesendet und die Tabelle ist bereits vorhanden.
    • DROP: Die Abfrage hat das DDL-Ziel gelöscht.
  • ddlTargetTable: Wenn Sie die Anweisung CREATE TABLE/VIEW oder DROP TABLE/VIEW senden, wird die Zieltabelle als Objekt mit drei Feldern zurückgegeben:
    • "projectId": String
    • „datasetId“: String
    • "tableId": String

Regionale Einstellungen festlegen

Sie können regionale Einstellungen auf Organisations- oder Projektebene konfigurieren.

Regionale Organisationseinstellungen konfigurieren

Mit der DDL-Anweisung ALTER ORGANIZATION SET OPTIONS können Sie regionale Einstellungen auf Organisationsebene konfigurieren. Sie müssen die Region angeben, in der jede Organisationseinstellung gilt. Sie können nur eine Region in einer Anweisung verwenden.

So konfigurieren Sie regionale Organisationseinstellungen: Im folgenden Beispiel werden mehrere regionale Standardkonfigurationen angegeben, darunter:

  • Zeitzone: America/Chicago
  • Cloud KMS-Schlüssel: ein nutzerdefinierter Schlüssel
  • Zeitlimit für Abfragen: 30 Minuten (1.800.000 Millisekunden)
  • Zeitlimit für die Warteschlange für interaktive Abfragen: 10 Minuten (600.000 Millisekunden)
  • Zeitlimit für die Warteschlange für Batchabfragen: 20 Minuten (1.200.000 Millisekunden)

Alle regionalen Organisationseinstellungen finden Sie unter organization_set_options_list.

Console

  1. Rufen Sie in der Google Cloud Console die Seite „BigQuery“ auf.

    BigQuery aufrufen

  2. Klicken Sie auf den Abfrageeditor. Dieser Tab ist mit search_insights Unbenannte Abfrage gekennzeichnet.

  3. Geben Sie die folgende DDL-Anweisung in den Abfrageeditor ein, um die regionalen Organisationseinstellungen zu konfigurieren:

      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);

    Ersetzen Sie Folgendes:

    • REGION: Die Region, die Ihrem Projekt oder Ihrer Organisation zugeordnet ist, z. B. us oder europe-west6. Der Wert für REGION muss für jede Option im Befehl gleich sein.
    • KMS_KEY: ein benutzerdefinierter Cloud KMS-Schlüssel. Weitere Informationen finden Sie unter Kundenverwaltete Cloud KMS-Schlüssel.
  4. Alternativ können Sie die regionalen Organisationseinstellungen löschen, indem Sie die folgende DDL-Anweisung in den Abfrageeditor eingeben:

      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);
  5. Klicken Sie auf Ausführen.

bq

Geben Sie den Befehl bq query ein und legen Sie die folgende DDL-Anweisung als Abfrageparameter fest, um die regionalen Organisationseinstellungen zu konfigurieren. Legen Sie das Flag use_legacy_sql auf false fest.

  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);

Ersetzen Sie Folgendes:

  • REGION: Die Region, die Ihrem Projekt oder Ihrer Organisation zugeordnet ist, z. B. us oder europe-west6. Der Wert für REGION muss für jede Option im Befehl gleich sein.
  • KMS_KEY: ein benutzerdefinierter Cloud KMS-Schlüssel. Weitere Informationen finden Sie unter Kundenverwaltete Cloud KMS-Schlüssel.

Alternativ können Sie die regionalen Organisationseinstellungen mit dem Befehl bq query löschen und die folgende DDL-Anweisung als Abfrageparameter angeben. Legen Sie das Flag use_legacy_sql auf false fest:

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,
  `region-REGION.default_cloud_resource_connection_id` = NULL,
  `region-REGION.default_sql_dialect_option` = NULL,
  `region-REGION.enable_reservation_based_fairness` = NULL,
  `region-REGION.enable_global_queries_execution` = NULL,
  `region-REGION.enable_global_queries_data_access` = NULL);

API

Rufen Sie die Methode jobs.query auf und geben Sie die DDL-Anweisung im Attribut query des Anfragetextes an.

Die DDL-Funktionalität erweitert die von einer Jobressource zurückgegebenen Informationen. statistics.query.statementType enthält die folgenden zusätzlichen Werte:

  • CREATE_TABLE
  • CREATE_TABLE_AS_SELECT
  • DROP_TABLE
  • CREATE_VIEW
  • DROP_VIEW

statistics.query hat zwei zusätzliche Felder:

  • ddlOperationPerformed: Der DDL-Vorgang wurde ausgeführt, möglicherweise abhängig davon, ob das DDL-Ziel vorhanden ist. Zu den aktuellen Werten gehören:
    • CREATE: Die Abfrage hat das DDL-Ziel erstellt.
    • SKIP: Managementfrei. Beispiele: CREATE TABLE IF NOT EXISTS wurde gesendet und die Tabelle ist vorhanden. Oder DROP TABLE IF EXISTS wurde gesendet und die Tabelle ist nicht vorhanden.
    • REPLACE: Die Abfrage hat das DDL-Ziel ersetzt. Beispiel: CREATE OR REPLACE TABLE wurde gesendet und die Tabelle ist bereits vorhanden.
    • DROP: Die Abfrage hat das DDL-Ziel gelöscht.
  • ddlTargetTable: Wenn Sie die Anweisung CREATE TABLE/VIEW oder DROP TABLE/VIEW senden, wird die Zieltabelle als Objekt mit drei Feldern zurückgegeben:
    • "projectId": String
    • „datasetId“: String
    • "tableId": String

Regionale Projekteinstellungen konfigurieren

Mit der DDL-Anweisung ALTER PROJECT SET OPTIONS können Sie regionale Einstellungen auf Projektebene konfigurieren. Wenn Sie die Konfiguration angeben, müssen Sie die Region angeben, in der sie gilt. Sie können nur eine Region in jeder Anweisung verwenden.

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.

Die DDL-Anweisung ALTER PROJECT SET OPTIONS akzeptiert optional die Variable PROJECT_ID. Wenn die Variable PROJECT_ID nicht angegeben ist, wird standardmäßig das aktuelle Projekt verwendet, in dem Sie die DDL-Anweisung ALTER PROJECT ausführen.

Im folgenden Beispiel werden mehrere regionale Einstellungen auf Projektebene angegeben, darunter:

  • Zeitzone: America/Los_Angeles
  • Cloud KMS-Schlüssel: Beispielschlüssel
  • Zeitlimit für Abfragen: 1 Stunde (1.800.000 Millisekunden)
  • Zeitlimit für die Warteschlange für interaktive Abfragen: 10 Minuten (600.000 Millisekunden)
  • Zeitlimit für die Warteschlange für Batchabfragen: 20 Minuten (1.200.000 Millisekunden)
  • Reservierungsbasierte Fairness: aktiviert
  • Globale Abfragen: aktiviert für das Ausführen und den Zugriff auf Daten

Alle regionalen Projekteinstellungen finden Sie unter project_set_options_list.

Console

  1. Rufen Sie in der Google Cloud Console die Seite „BigQuery“ auf.

    BigQuery aufrufen

  2. Klicken Sie auf den Abfrageeditor. Dieser Tab ist mit search_insights Unbenannte Abfrage gekennzeichnet.

  3. Geben Sie die folgende DDL-Anweisung in den Abfrageeditor ein, um die regionalen Projekteinstellungen zu konfigurieren:

     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.enable_reservation_based_fairness` = true,
    `region-REGION.enable_global_queries_execution` = true,
    `region-REGION.enable_global_queries_data_access` = true);

    Ersetzen Sie Folgendes:

    • PROJECT_ID: Projekt-ID.
    • REGION: Die Region, die Ihrem Projekt oder Ihrer Organisation zugeordnet ist, z. B. us oder europe-west6. Der Wert für REGION muss für jede Option im Befehl gleich sein.
    • KMS_KEY: ein benutzerdefinierter Cloud KMS-Schlüssel. Weitere Informationen finden Sie unter Kundenverwaltete Cloud KMS-Schlüssel.
  4. Alternativ können Sie die regionalen Projekteinstellungen löschen, indem Sie die folgende DDL-Anweisung in den Abfrageeditor eingeben:

      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.enable_reservation_based_fairness` = false);
  5. Klicken Sie auf Ausführen.

bq

  1. Geben Sie zum Konfigurieren der regionalen Projekteinstellungen den Befehl bq query ein und legen Sie die folgende DDL-Anweisung als Abfrageparameter fest. Legen Sie das Flag use_legacy_sql auf false fest.

      ALTER PROJECT PROJECT_ID
      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.enable_reservation_based_fairness` = true);

    Ersetzen Sie Folgendes:

    • PROJECT_ID: Projekt-ID.
    • REGION: Die Region, die Ihrem Projekt oder Ihrer Organisation zugeordnet ist, z. B. us oder europe-west6. Der Wert für REGION muss für jede Option im Befehl gleich sein.
    • KMS_KEY: ein benutzerdefinierter Cloud KMS-Schlüssel. Weitere Informationen finden Sie unter Kundenverwaltete Cloud KMS-Schlüssel.
  2. Alternativ können Sie die regionalen Projekteinstellungen löschen, indem Sie den Befehl bq query eingeben und die folgende DDL-Anweisung als Abfrageparameter angeben. Legen Sie das Flag use_legacy_sql auf false fest:

      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.enable_reservation_based_fairness` = false,
    `region-REGION.enable_global_queries_execution` = NULL,
    `region-REGION.enable_global_queries_data_access` = NULL);

API

Rufen Sie die Methode jobs.query auf und geben Sie die DDL-Anweisung im Attribut query des Anfragetextes an.

Die DDL-Funktionalität erweitert die von einer Jobressource zurückgegebenen Informationen. statistics.query.statementType enthält die folgenden zusätzlichen Werte:

  • CREATE_TABLE
  • CREATE_TABLE_AS_SELECT
  • DROP_TABLE
  • CREATE_VIEW
  • DROP_VIEW

statistics.query hat zwei zusätzliche Felder:

  • ddlOperationPerformed: Der DDL-Vorgang wurde ausgeführt, möglicherweise abhängig davon, ob das DDL-Ziel vorhanden ist. Zu den aktuellen Werten gehören:
    • CREATE: Die Abfrage hat das DDL-Ziel erstellt.
    • SKIP: Managementfrei. Beispiele: CREATE TABLE IF NOT EXISTS wurde gesendet und die Tabelle ist vorhanden. Oder DROP TABLE IF EXISTS wurde gesendet und die Tabelle ist nicht vorhanden.
    • REPLACE: Die Abfrage hat das DDL-Ziel ersetzt. Beispiel: CREATE OR REPLACE TABLE wurde gesendet und die Tabelle ist bereits vorhanden.
    • DROP: Die Abfrage hat das DDL-Ziel gelöscht.
  • ddlTargetTable: Wenn Sie die Anweisung CREATE TABLE/VIEW oder DROP TABLE/VIEW senden, wird die Zieltabelle als Objekt mit drei Feldern zurückgegeben:
    • "projectId": String
    • „datasetId“: String
    • "tableId": String

Konfigurationseinstellungen abrufen

Sie können die Konfigurationseinstellungen für eine Organisation oder ein Projekt mit den folgenden INFORMATION_SCHEMA-Ansichten aufrufen:

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

Mit den folgenden Beispielabfragen können Sie Ihre Projekt- und Organisationseinstellungen aus den INFORMATION_SCHEMA-Ansichten abrufen.

Globale Einstellungen ansehen

Führen Sie die folgende Abfrage aus, um alle globalen Organisationseinstellungen aufzurufen:

SELECT * FROM INFORMATION_SCHEMA.ORGANIZATION_OPTIONS;

Wenn Sie nur die Organisationseinstellung für den Standardspeicherort aufrufen möchten, führen Sie die folgende Abfrage aus:

SELECT
    option_value
FROM INFORMATION_SCHEMA.ORGANIZATION_OPTIONS
WHERE option_name = 'default_location'

Führen Sie die folgende Abfrage aus, um alle effektiven globalen Konfigurationen für Ihr Standardprojekt aufzurufen:

SELECT * FROM INFORMATION_SCHEMA.EFFECTIVE_PROJECT_OPTIONS;

Wenn Sie nur die effektive globale Konfiguration für den Standardspeicherort für Ihr Standardprojekt aufrufen möchten, führen Sie die folgende Abfrage aus:

SELECT
    option_value
FROM INFORMATION_SCHEMA.EFFECTIVE_PROJECT_OPTIONS
WHERE option_name = 'default_location'

Wenn Sie alle globalen Konfigurationen für Ihr Standardprojekt aufrufen möchten, führen Sie die folgende Abfrage aus:

SELECT * FROM INFORMATION_SCHEMA.PROJECT_OPTIONS;

Wenn Sie nur die Einstellung für den Standardspeicherort für Ihr Standardprojekt aufrufen möchten, führen Sie die folgende Abfrage aus:

SELECT
    option_value
FROM INFORMATION_SCHEMA.PROJECT_OPTIONS
WHERE option_name = 'default_location'

Regionale Einstellungen ansehen

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 -1 fest.
  • 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 -1 fest.
  • 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 Feld jobTimeoutMs fest.

  • default_location: Die Konfigurationseinstellung für default_location wird verwendet, um Jobs auszuführen, wenn der Standort nicht festgelegt ist oder nicht ermittelt werden kann. Wenn default_location nicht festgelegt ist, wird der Job in der multiregionalen Region US ausgeführt.

  • enable_reservation_based_fairness: Die Option, mit der festgelegt wird, wie inaktive Slots freigegeben werden. Der Standardwert ist „false“. Das bedeutet, dass freie 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 verwenden, wenn der Abfragedialekt nicht auf Jobebene angegeben ist.
    • 'only_google_sql': GoogleSQL verwenden, 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.
  • enable_global_queries_execution: Die Option, die bestimmt, ob globale Abfragen ausgeführt werden können. Der Standardwert ist FALSE. Das bedeutet, dass globale Abfragen nicht aktiviert sind.

  • enable_global_queries_data_access: Die Option, mit der festgelegt wird, ob globale Abfragen auf Daten zugreifen können, die in der Region gespeichert sind. Der Standardwert ist FALSE. Das bedeutet, dass bei globalen Abfragen keine Daten aus dieser Region kopiert werden können, unabhängig davon, in welchem Projekt sie ausgeführt werden.

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 unter load_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 auf PHYSICAL fest, um physische Bytes bei der Berechnung der Speichergebühren zu verwenden, oder auf LOGICAL, 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.