Recupero dei valori di configurazione con INFORMATION_SCHEMA

INFORMATION_SCHEMA è una serie di viste che forniscono accesso a metadati relativi a set di dati, routine, tabelle, viste, job, prenotazioni e flussi di dati.

Puoi eseguire query sulla visualizzazione delle opzioni di configurazione di INFORMATION_SCHEMA per recuperare i metadati in tempo reale delle opzioni di configurazione di BigQuery. Questa visualizzazione contiene le impostazioni predefinite a livello di organizzazione o di progetto.

Prima di iniziare

Concedi i ruoli IAM (Gestione di identità e accessi) che concedono agli utenti le autorizzazioni necessarie per eseguire ogni attività in questo documento.

Autorizzazioni obbligatorie

Per ottenere i metadati delle opzioni di configurazione, sono necessarie le seguenti autorizzazioni IAM:

  • bigquery.config.get

Ciascuno dei ruoli IAM predefiniti include le autorizzazioni necessarie per recuperare i metadati delle opzioni dell'organizzazione:

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

Per ulteriori informazioni sulle autorizzazioni granulari di BigQuery, vedi ruoli e autorizzazioni.

ORGANIZATION_OPTIONS vista

Syntax

Le query su questa vista devono avere un qualificatore per area geografica.

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

Quando esegui una query sulla vista INFORMATION_SCHEMA.ORGANIZATION_OPTIONS, i risultati della query contengono una riga per ogni configurazione di un'organizzazione.

La vista INFORMATION_SCHEMA.ORGANIZATION_OPTIONS ha il seguente schema:

Nome colonna Tipo di dati Valore
OPTION_NAME STRING Uno dei valori del nome nella tabella delle opzioni
OPTION_DESCRIPTION STRING La descrizione dell'opzione
OPTION_TYPE STRING Il tipo di dati OPTION_VALUE
OPTION_VALUE STRING Il valore corrente dell'opzione
Tabella opzioni
OPTION_NAME OPTION_TYPE OPTION_VALUE
default_time_zone STRING Fuso orario predefinito per questa organizzazione
default_kms_key_name STRING Il nome della chiave predefinito per questa organizzazione
default_query_job_timeout_ms STRING Il tempo di timeout predefinito in millisecondi per questa organizzazione

Esempi

L'esempio seguente recupera le colonne OPTION_NAME, OPTION_TYPE e OPTION_VALUE da INFORMATION_SCHEMA.ORGANIZATION_OPTIONS.

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

Il risultato è simile al seguente:

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

PROJECT_OPTIONS vista

Syntax

Le query su questa vista devono avere un qualificatore per area geografica.

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

Quando esegui una query sulla vista INFORMATION_SCHEMA.PROJECT_OPTIONS, i risultati della query contengono una riga per ogni configurazione di un progetto.

La vista INFORMATION_SCHEMA.PROJECT_OPTIONS ha il seguente schema:

Nome colonna Tipo di dati Valore
OPTION_NAME STRING ID opzione per l'impostazione di configurazione specificata
OPTION_DESCRIPTION STRING La descrizione dell'opzione
OPTION_TYPE STRING Il tipo di dati OPTION_VALUE
OPTION_VALUE STRING Il valore corrente dell'opzione
Tabella opzioni
OPTION_NAME OPTION_TYPE OPTION_VALUE
default_time_zone STRING Il fuso orario predefinito per questo progetto
default_kms_key_name STRING Il nome della chiave predefinito per questo progetto
default_query_job_timeout_ms STRING Il tempo di timeout predefinito in millisecondi per questo progetto

Esempi

L'esempio seguente recupera le colonne OPTION_NAME, OPTION_TYPE e OPTION_VALUE dalla visualizzazione INFORMATION_SCHEMA.PROJECT_OPTIONS.

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

Il risultato è simile al seguente:

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

EFFECTIVE_PROJECT_OPTIONS vista

Syntax

Le query su questa vista devono avere un qualificatore per area geografica.

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

Quando esegui una query sulla vista INFORMATION_SCHEMA.EFFECTIVE_PROJECT_OPTIONS, i risultati della query contengono una riga per ogni configurazione di un progetto.

La vista INFORMATION_SCHEMA.EFFECTIVE_PROJECT_OPTIONS ha il seguente schema:

Nome colonna Tipo di dati Valore
OPTION_NAME STRING ID opzione per l'impostazione di configurazione specificata
OPTION_DESCRIPTION STRING La descrizione dell'opzione
OPTION_TYPE STRING Il tipo di dati OPTION_VALUE
OPTION_SET_LEVEL STRING Il livello della gerarchia in cui viene definita l'impostazione, con possibili valori DEFAULT, ORGANIZATION o PROJECTS.
OPTION_SET_ON_ID STRING Imposta il valore in base al valore di OPTION_SET_LEVEL:
  • Se DEFAULT, imposta su null.
  • Se ORGANIZATION, imposta su "".
  • Se PROJECT, imposta su ID.
OPTION_VALUE STRING Il valore corrente dell'opzione
Tabella opzioni
OPTION_NAME OPTION_TYPE OPTION_VALUE
default_time_zone STRING Il fuso orario predefinito effettivo per questo progetto
default_kms_key_name STRING Il nome della chiave predefinita effettiva per questo progetto
default_query_job_timeout_ms INT64 Il tempo di timeout predefinito in millisecondi per il progetto

Esempi

Esempio 1:

L'esempio seguente recupera le colonne OPTION_NAME, OPTION_TYPE, OPTION_VALUE, OPTION_SET_LEVEL e OPTION_SET_ON_ID dalla visualizzazione INFORMATION_SCHEMA.PROJECT_OPTIONS.

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

Il risultato è simile al seguente:

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