Konfigurationswerte mit INFORMATION_SCHEMA abrufen

INFORMATION_SCHEMA umfasst mehrere Ansichten, über die auf Metadaten von Datasets, Routinen, Tabellen, Ansichten, Jobs, Reservierungen und Streamingdaten zugegriffen werden kann.

Sie können die Ansicht der INFORMATION_SCHEMA-Konfigurationsoptionen abfragen, um Echtzeit-Metadaten zu BigQuery-Konfigurationsoptionen abzurufen. Sie enthält Standardeinstellungen auf Organisations- oder Projektebene.

Vorbereitung

Erteilen Sie IAM-Rollen (Identity and Access Management), die Nutzern die erforderlichen Berechtigungen zum Ausführen der einzelnen Aufgaben in diesem Dokument geben.

Erforderliche Berechtigungen

Zum Abrufen der Metadaten der Konfigurationsoptionen benötigen Sie folgende IAM-Berechtigungen:

  • bigquery.config.get

Jede der folgenden vordefinierten IAM-Rollen enthält die Berechtigungen, die Sie zum Abrufen der Options-Metadaten einer Organisation benötigen:

  • roles/bigquery.jobUser
  • roles/bigquery.dataEditor
  • roles/bigquery.dataOwner

Weitere Informationen über detaillierte BigQuery-Berechtigungen finden Sie unter Rollen und Berechtigungen.

Ansicht ORGANIZATION_OPTIONS

Syntax

Für Abfragen dieser Ansicht muss ein Region-Qualifizierer verwendet werden.

-- Returns configurations for all set options within the organization.
SELECT * FROM region-us.INFORMATION_SCHEMA.ORGANIZATION_OPTIONS;

Wenn Sie die Ansicht INFORMATION_SCHEMA.ORGANIZATION_OPTIONS abfragen, enthält das Ergebnis für jede Konfiguration in einer Organisation eine Zeile.

Die Ansicht INFORMATION_SCHEMA.ORGANIZATION_OPTIONS hat das folgende Schema:

Spaltenname Datentyp Wert
OPTION_NAME STRING Ein Namenswert der Optionstabelle
OPTION_DESCRIPTION STRING Die Beschreibung der Option
OPTION_TYPE STRING Der Datentyp von OPTION_VALUE
OPTION_VALUE STRING Der aktuelle Wert der Option
Optionstabelle
OPTION_NAME OPTION_TYPE OPTION_VALUE
default_time_zone STRING Die Standardzeitzone für diese Organisation
default_kms_key_name STRING Der Standardschlüsselname für diese Organisation
default_query_job_timeout_ms STRING Die standardmäßige Zeitüberschreitung in Millisekunden für diese Organisation

Beispiele

Im folgenden Beispiel werden die Spalten OPTION_NAME, OPTION_TYPE und OPTION_VALUE aus INFORMATION_SCHEMA.ORGANIZATION_OPTIONS abgerufen.

SELECT
  option_name, option_type, option_value
FROM
  `region-us`.INFORMATION_SCHEMA.ORGANIZATION_OPTIONS;

Das Ergebnis sieht etwa so aus:

  +---------------------------------+---------------+--------------------------+
  | option_name                     | option_type   | option_value             |
  +---------------------------------+---------------+--------------------------+
  | default_time_zone               | STRING        | America/Los_Angeles      |
  +---------------------------------+---------------+--------------------------+
  | default_kms_key_name            | STRING        | test/testkey1            |
  +---------------------------------+---------------+--------------------------+
  | default_query_job_timeout_ms    | INT64         | 18000000                 |
  +---------------------------------+---------------+--------------------------+
  

Ansicht PROJECT_OPTIONS

Syntax

Für Abfragen dieser Ansicht muss ein Region-Qualifizierer verwendet werden.

-- Returns configurations for all set options within the project.
SELECT * FROM region-us.INFORMATION_SCHEMA.PROJECT_OPTIONS;

Wenn Sie die INFORMATION_SCHEMA.PROJECT_OPTIONS-Ansicht abfragen, wird im Ergebnis jede Konfiguration in einem Projekt in einer eigenen Zeile dargestellt.

Die Ansicht INFORMATION_SCHEMA.PROJECT_OPTIONS hat das folgende Schema:

Spaltenname Datentyp Wert
OPTION_NAME STRING Option-ID für die angegebene Konfigurationseinstellung
OPTION_DESCRIPTION STRING Die Beschreibung der Option
OPTION_TYPE STRING Der Datentyp von OPTION_VALUE
OPTION_VALUE STRING Der aktuelle Wert der Option
Optionstabelle
OPTION_NAME OPTION_TYPE OPTION_VALUE
default_time_zone STRING Die Standardzeitzone für dieses Projekt
default_kms_key_name STRING Der Standardschlüsselname für dieses Projekt
default_query_job_timeout_ms STRING Die standardmäßige Zeitüberschreitung in Millisekunden für dieses Projekt

Beispiele

Im folgenden Beispiel werden die Spalten OPTION_NAME, OPTION_TYPE und OPTION_VALUE aus der INFORMATION_SCHEMA.PROJECT_OPTIONS-Ansicht abgerufen.

SELECT
  option_name, option_type, option_value
FROM
  `region-us`.INFORMATION_SCHEMA.PROJECT_OPTIONS;

Das Ergebnis sieht etwa so aus:

  +---------------------------------+---------------+----------------------+
  | option_name                     | option_type   | option_value         |
  +---------------------------------+---------------+----------------------+
  | default_time_zone               | STRING        | America/Chicago      |
  +---------------------------------+---------------+----------------------+
  | default_kms_key_name            | STRING        | test/testkey1        |
  +---------------------------------+---------------+----------------------+
  | default_query_job_timeout_ms    | INT64         | 36000000             |
  +---------------------------------+---------------+----------------------+
  

Ansicht EFFECTIVE_PROJECT_OPTIONS

Syntax

Für Abfragen dieser Ansicht muss ein Region-Qualifizierer verwendet werden.

-- Returns effective configurations for all set options within the project.
SELECT * FROM region-us.INFORMATION_SCHEMA.EFFECTIVE_PROJECT_OPTIONS;

Wenn Sie die INFORMATION_SCHEMA.EFFECTIVE_PROJECT_OPTIONS-Ansicht abfragen, wird im Ergebnis jede Konfiguration in einem Projekt in einer eigenen Zeile dargestellt.

Die Ansicht INFORMATION_SCHEMA.EFFECTIVE_PROJECT_OPTIONS hat das folgende Schema:

Spaltenname Datentyp Wert
OPTION_NAME STRING Option-ID für die angegebene Konfigurationseinstellung
OPTION_DESCRIPTION STRING Die Beschreibung der Option
OPTION_TYPE STRING Der Datentyp von OPTION_VALUE
OPTION_SET_LEVEL STRING Die Ebene in der Hierarchie, auf der die Einstellung definiert ist, mit den möglichen Werten: DEFAULT, ORGANIZATION oder PROJECTS
OPTION_SET_ON_ID STRING Legen Sie den Wert anhand des Werts von OPTION_SET_LEVEL fest:
  • Bei DEFAULT auf null.
  • Bei ORGANIZATION auf "".
  • Bei PROJECT auf ID.
OPTION_VALUE STRING Der aktuelle Wert der Option
Optionstabelle
OPTION_NAME OPTION_TYPE OPTION_VALUE
default_time_zone STRING Die effektive Standardzeitzone für dieses Projekt
default_kms_key_name STRING Der effektive Standardschlüsselname für dieses Projekt
default_query_job_timeout_ms INT64 Die effektive Standardzeitüberschreitung in Millisekunden für dieses Projekt

Beispiele

Beispiel 1:

Im folgenden Beispiel werden die Spalten OPTION_NAME, OPTION_TYPE, OPTION_VALUE, OPTION_SET_LEVEL und OPTION_SET_ON_ID aus der INFORMATION_SCHEMA.PROJECT_OPTIONS-Ansicht abgerufen.

SELECT
  option_name, option_type, option_value, option_set_level, option_set_on_id
FROM
  `region-us`.INFORMATION_SCHEMA.PROJECT_OPTIONS;

Das Ergebnis sieht etwa so aus:

  +---------------------------------+---------------+-----------------------+---------------------+-----------------------+
  | option_name                     | option_type   | option_value          | option_set_level    | option_set_on_id      |
  +---------------------------------+---------------+-----------------------+---------------------+-----------------------+
  | default_time_zone               | STRING        | America/New_York      | organizations       | my_organization_id    |
  +---------------------------------+---------------+-----------------------+---------------------+-----------------------+
  | default_kms_key_name            | STRING        | test/testkey1         | projects            | my_project_id         |
  +---------------------------------+---------------+-----------------------+---------------------+-----------------------+
  | default_query_job_timeout_ms    | INT64         | 18000000              | projects             | my_project_id        |
  +---------------------------------+---------------+-----------------------+---------------------+-----------------------+