Vue SCHEMATA_OPTIONS

La vue INFORMATION_SCHEMA.SCHEMATA_OPTIONS contient une ligne pour chaque option définie dans chaque ensemble de données d'un projet.

Avant de commencer

Pour interroger la vue SCHEMATA_OPTIONS pour les métadonnées de l'ensemble de données, vous devez disposer de l'autorisation Identity and Access Management (IAM) bigquery.datasets.get au niveau du projet.

Chacun des rôles IAM prédéfinis suivants inclut les autorisations dont vous avez besoin pour obtenir la vue SCHEMATA_OPTIONS :

  • roles/bigquery.admin
  • roles/bigquery.dataEditor
  • roles/bigquery.dataOwner
  • roles/bigquery.dataViewer

Pour plus d'informations sur les autorisations BigQuery, consultez la page Contrôle des accès avec IAM.

Schéma

Lorsque vous interrogez la vue INFORMATION_SCHEMA.SCHEMATA_OPTIONS, les résultats des requêtes contiennent une ligne pour chaque option définie dans chaque ensemble de données d'un projet.

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

Nom de la colonne Type de données Valeur
CATALOG_NAME STRING Nom du projet qui contient l'ensemble de données
SCHEMA_NAME STRING Nom de l'ensemble de données, également appelé datasetId.
OPTION_NAME STRING Nom de l'option. Pour obtenir la liste des options acceptées, consultez la liste des options de schéma.

L'option storage_billing_model n'est affichée que pour les ensembles de données mis à jour après le 1er décembre 2022. Pour les ensembles de données mis à jour pour la dernière fois avant cette date, le modèle de facturation du stockage est LOGICAL.

OPTION_TYPE STRING Type de données de l'option.
OPTION_VALUE STRING Valeur de l'option.

Champ d'application et syntaxe

Les requêtes exécutées sur cette vue doivent inclure un qualificatif de région. Si vous ne spécifiez pas de qualificatif de région, les métadonnées sont extraites de la région US Le tableau suivant explique le champ d'application de la région pour cette vue :

Nom de la vue Champ d'application de la ressource Champ d'application de la région
[PROJECT_ID.]INFORMATION_SCHEMA.SCHEMATA_OPTIONS Niveau Projet Région US
[PROJECT_ID.]`region-REGION`.INFORMATION_SCHEMA.SCHEMATA_OPTIONS Niveau Projet REGION
Remplacez les éléments suivants :

  • Facultatif : PROJECT_ID : ID de votre projet Google Cloud. Si non spécifié, le projet par défaut est utilisé.
  • REGION : tout nom de région d'ensemble de données. Exemple :region-us

Exemple

-- Returns metadata for datasets in a region.
SELECT * FROM region-us.INFORMATION_SCHEMA.SCHEMATA_OPTIONS;

Examples

Récupérer le délai d'expiration de table par défaut pour tous les ensembles de données de votre projet

Pour exécuter la requête sur un projet autre que celui par défaut, ajoutez l'ID du projet au nom de l'ensemble de données, en respectant le format suivant :

`PROJECT_ID`.INFORMATION_SCHEMA.SCHEMATA_OPTIONS
 Par exemple : `myproject`.INFORMATION_SCHEMA.SCHEMATA_OPTIONS.

SELECT
  *
FROM
  INFORMATION_SCHEMA.SCHEMATA_OPTIONS
WHERE
  option_name = 'default_table_expiration_days';

Le résultat ressemble à ce qui suit :

  +----------------+---------------+-------------------------------+-------------+---------------------+
  |  catalog_name  |  schema_name  |          option_name          | option_type |    option_value     |
  +----------------+---------------+-------------------------------+-------------+---------------------+
  | myproject      | mydataset3    | default_table_expiration_days | FLOAT64     | 0.08333333333333333 |
  | myproject      | mydataset2    | default_table_expiration_days | FLOAT64     | 90.0                |
  | myproject      | mydataset1    | default_table_expiration_days | FLOAT64     | 30.0                |
  +----------------+---------------+-------------------------------+-------------+---------------------+
  

Récupérer les libellés de tous les ensembles de données de votre projet

Pour exécuter la requête sur un projet autre que celui par défaut, ajoutez l'ID du projet à l'ensemble de données, en respectant le format suivant :

`PROJECT_ID`.INFORMATION_SCHEMA.SCHEMATA_OPTIONS
. Par exemple : `myproject`.INFORMATION_SCHEMA.SCHEMATA_OPTIONS.

SELECT
  *
FROM
  INFORMATION_SCHEMA.SCHEMATA_OPTIONS
WHERE
  option_name = 'labels';

Le résultat ressemble à ce qui suit :

  +----------------+---------------+-------------+---------------------------------+------------------------+
  |  catalog_name  |  schema_name  | option_name |          option_type            |      option_value      |
  +----------------+---------------+-------------+---------------------------------+------------------------+
  | myproject      | mydataset1    | labels      | ARRAY<STRUCT<STRING, STRING>>   | [STRUCT("org", "dev")] |
  | myproject      | mydataset2    | labels      | ARRAY<STRUCT<STRING, STRING>>   | [STRUCT("org", "dev")] |
  +----------------+---------------+-------------+---------------------------------+------------------------+