Obtenir des valeurs de configuration à l'aide de INFORMATION_SCHEMA

INFORMATION_SCHEMA est une série de vues donnant accès aux métadonnées sur des ensembles de données, des routines, des tables, des vues, des tâches, des réservations et des données de streaming.

Vous pouvez récupérer en temps réel les métadonnées des options de configuration de BigQuery en interrogeant la vue des options de configuration INFORMATION_SCHEMA. Cette vue contient les paramètres par défaut au niveau de l'organisation ou du projet.

Avant de commencer

Attribuez aux utilisateurs des rôles IAM (Identity and Access Management) incluant les autorisations nécessaires pour effectuer l'ensemble des tâches du présent document.

Autorisations requises

Pour obtenir les métadonnées des options de configuration, vous avez besoin des autorisations IAM suivantes :

  • bigquery.config.get

Chacun des rôles IAM prédéfinis suivants inclut les autorisations dont vous avez besoin pour obtenir les métadonnées des options de vue :

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

Pour plus d'informations sur les autorisations BigQuery précises, consultez la section Rôles et autorisations.

Vue ORGANIZATION_OPTIONS

Syntaxe

Les requêtes exécutées sur cette vue doivent inclure un qualificatif de région.

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

Lorsque vous interrogez la vue INFORMATION_SCHEMA.ORGANIZATION_OPTIONS, les résultats de la requête contiennent une ligne pour chaque configuration d'une organisation.

La vue INFORMATION_SCHEMA.ORGANIZATION_OPTIONS présente le schéma suivant :

Nom de la colonne Type de données Value
OPTION_NAME STRING Une des valeurs de nom figurant dans la table d'options
OPTION_DESCRIPTION STRING Description de l'option
OPTION_TYPE STRING Type de données de OPTION_VALUE
OPTION_VALUE STRING Valeur actuelle de l'option
Table d'options
OPTION_NAME OPTION_TYPE OPTION_VALUE
default_time_zone STRING Fuseau horaire par défaut pour cette organisation
default_kms_key_name STRING Nom de clé par défaut pour cette organisation
default_query_job_timeout_ms STRING Délai avant expiration par défaut en millisecondes pour cette organisation

Examples

L'exemple suivant récupère les colonnes OPTION_NAME, OPTION_TYPE et OPTION_VALUE à partir de INFORMATION_SCHEMA.ORGANIZATION_OPTIONS.

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

Le résultat ressemble à ce qui suit :

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

Vue PROJECT_OPTIONS

Syntaxe

Les requêtes exécutées sur cette vue doivent inclure un qualificatif de région.

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

Lorsque vous interrogez la vue INFORMATION_SCHEMA.PROJECT_OPTIONS, les résultats de la requête contiennent une ligne pour chaque configuration d'un projet.

La vue INFORMATION_SCHEMA.PROJECT_OPTIONS présente le schéma suivant :

Nom de la colonne Type de données Value
OPTION_NAME STRING ID d'option pour le paramètre de configuration spécifié
OPTION_DESCRIPTION STRING Description de l'option
OPTION_TYPE STRING Type de données de OPTION_VALUE
OPTION_VALUE STRING Valeur actuelle de l'option
Table d'options
OPTION_NAME OPTION_TYPE OPTION_VALUE
default_time_zone STRING Fuseau horaire par défaut pour ce projet
default_kms_key_name STRING Nom de clé effectif par défaut pour ce projet
default_query_job_timeout_ms STRING Délai avant expiration effectif par défaut en millisecondes pour ce projet

Examples

L'exemple suivant récupère les colonnes OPTION_NAME, OPTION_TYPE et OPTION_VALUE de la vue INFORMATION_SCHEMA.PROJECT_OPTIONS.

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

Le résultat ressemble à ce qui suit :

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

Vue EFFECTIVE_PROJECT_OPTIONS

Syntaxe

Les requêtes exécutées sur cette vue doivent inclure un qualificatif de région.

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

Lorsque vous interrogez la vue INFORMATION_SCHEMA.EFFECTIVE_PROJECT_OPTIONS, les résultats de la requête contiennent une ligne pour chaque configuration d'un projet.

La vue INFORMATION_SCHEMA.EFFECTIVE_PROJECT_OPTIONS présente le schéma suivant :

Nom de la colonne Type de données Value
OPTION_NAME STRING ID d'option pour le paramètre de configuration spécifié
OPTION_DESCRIPTION STRING Description de l'option
OPTION_TYPE STRING Type de données de OPTION_VALUE
OPTION_SET_LEVEL STRING Niveau de la hiérarchie auquel le paramètre est défini, avec les valeurs possibles DEFAULT, ORGANIZATION ou PROJECTS
OPTION_SET_ON_ID STRING Définissez la valeur en fonction de la valeur de OPTION_SET_LEVEL :
  • Si la valeur est DEFAULT, la valeur est définie sur null.
  • Si la valeur est ORGANIZATION, la valeur est définie sur "".
  • Si la valeur est PROJECT, la valeur est définie sur ID.
OPTION_VALUE STRING Valeur actuelle de l'option
Table d'options
OPTION_NAME OPTION_TYPE OPTION_VALUE
default_time_zone STRING Fuseau horaire effectif par défaut pour ce projet
default_kms_key_name STRING Nom de clé effectif par défaut pour ce projet
default_query_job_timeout_ms INT64 Délai avant expiration effectif par défaut en millisecondes pour ce projet

Examples

Exemple 1 :

L'exemple suivant récupère les colonnes OPTION_NAME, OPTION_TYPE, OPTION_VALUE, OPTION_SET_LEVEL et OPTION_SET_ON_ID de la vue 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;

Le résultat ressemble à ce qui suit :

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