Como receber valores de configuração usando INFORMATION_SCHEMA

INFORMATION_SCHEMA é uma série de visualizações que fornecem acesso a metadados sobre conjuntos de dados, rotinas, tabelas, visualizações, jobs, reservas e dados de streaming.

Consulte a visualização opções de configuração INFORMATION_SCHEMA para recuperar metadados em tempo real sobre as opções de configuração do BigQuery. Essa visualização contém configurações padrão nos níveis da organização ou do projeto.

Antes de começar

Atribua papéis do Identity and Access Management (IAM) que concedam aos usuários as permissões necessárias para realizar cada tarefa deste documento.

Permissões necessárias

Para receber metadados de opções de configuração, você precisa das seguintes permissões do IAM:

  • bigquery.config.get

Cada um dos seguintes papéis predefinidos do IAM inclui as permissões necessárias para receber metadados de opções da organização:

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

Para mais informações sobre permissões granulares do BigQuery, consulte papéis e permissões.

Visualização ORGANIZATION_OPTIONS

Sintaxe

As consultas nesta visualização precisam ter um qualificador de região.

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

Quando você consulta a visualização INFORMATION_SCHEMA.ORGANIZATION_OPTIONS, os resultados da consulta contêm uma linha para cada configuração em uma organização.

A visualização INFORMATION_SCHEMA.ORGANIZATION_OPTIONS tem o seguinte esquema:

Nome da coluna Tipo de dados Valor
OPTION_NAME STRING Um dos valores de nome na tabela opções.
OPTION_DESCRIPTION STRING Descrição da opção
OPTION_TYPE STRING O tipo de dados de OPTION_VALUE
OPTION_VALUE STRING O valor atual da opção
Tabela de opções
OPTION_NAME OPTION_TYPE OPTION_VALUE
default_time_zone STRING O fuso horário padrão para esta organização
default_kms_key_name STRING O nome da chave padrão desta organização
default_query_job_timeout_ms STRING O tempo limite padrão em milissegundos para esta organização

Examples

O exemplo a seguir recupera as colunas OPTION_NAME, OPTION_TYPE e OPTION_VALUE de INFORMATION_SCHEMA.ORGANIZATION_OPTIONS.

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

O resultado será semelhante ao seguinte:

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

Visualização PROJECT_OPTIONS

Sintaxe

As consultas nesta visualização precisam ter um qualificador de região.

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

Quando você consulta a visualização INFORMATION_SCHEMA.PROJECT_OPTIONS, os resultados da consulta contêm uma linha para cada configuração em um projeto.

A visualização INFORMATION_SCHEMA.PROJECT_OPTIONS tem o seguinte esquema:

Nome da coluna Tipo de dados Valor
OPTION_NAME STRING Código da opção da configuração especificada
OPTION_DESCRIPTION STRING Descrição da opção
OPTION_TYPE STRING O tipo de dados de OPTION_VALUE
OPTION_VALUE STRING O valor atual da opção
Tabela de opções
OPTION_NAME OPTION_TYPE OPTION_VALUE
default_time_zone STRING O fuso horário padrão para este projeto
default_kms_key_name STRING O nome da chave padrão para este projeto
default_query_job_timeout_ms STRING O tempo limite padrão em milissegundos para este projeto

Examples

O exemplo a seguir recupera as colunas OPTION_NAME, OPTION_TYPE e OPTION_VALUE da visualização INFORMATION_SCHEMA.PROJECT_OPTIONS.

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

O resultado será semelhante ao seguinte:

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

Visualização EFFECTIVE_PROJECT_OPTIONS

Sintaxe

As consultas nesta visualização precisam ter um qualificador de região.

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

Quando você consulta a visualização INFORMATION_SCHEMA.EFFECTIVE_PROJECT_OPTIONS, os resultados da consulta contêm uma linha para cada configuração em um projeto.

A visualização INFORMATION_SCHEMA.EFFECTIVE_PROJECT_OPTIONS tem o seguinte esquema:

Nome da coluna Tipo de dados Valor
OPTION_NAME STRING Código da opção da configuração especificada
OPTION_DESCRIPTION STRING Descrição da opção
OPTION_TYPE STRING O tipo de dados de OPTION_VALUE
OPTION_SET_LEVEL STRING Nível da hierarquia em que a configuração está definida, com os valores possíveis de DEFAULT, ORGANIZATION ou PROJECTS
OPTION_SET_ON_ID STRING Defina o valor com base no valor de OPTION_SET_LEVEL:
  • Se DEFAULT. defina como null.
  • Se ORGANIZATION. defina como "".
  • Se PROJECT. defina como ID.
OPTION_VALUE STRING O valor atual da opção
Tabela de opções
OPTION_NAME OPTION_TYPE OPTION_VALUE
default_time_zone STRING O fuso horário padrão efetivo para este projeto
default_kms_key_name STRING O nome da chave padrão efetiva para este projeto
default_query_job_timeout_ms INT64 O tempo limite padrão efetivo em milissegundos deste projeto

Examples

Exemplo 1:

O exemplo a seguir recupera as colunas OPTION_NAME, OPTION_TYPE, OPTION_VALUE, OPTION_SET_LEVEL e OPTION_SET_ON_ID da visualização 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;

O resultado será semelhante ao seguinte:

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