Vista SCHEMATA_OPTIONS

La vista INFORMATION_SCHEMA.SCHEMATA_OPTIONS contiene una fila por cada opción definida en cada conjunto de datos de un proyecto.

Antes de empezar

Para consultar la vista SCHEMATA_OPTIONS para obtener metadatos de conjuntos de datos, necesitas el permiso de bigquery.datasets.get gestión de identidades y accesos (IAM) a nivel de proyecto.

Cada uno de los siguientes roles de gestión de identidades y accesos predefinidos incluye los permisos que necesitas para obtener la vista SCHEMATA_OPTIONS:

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

Para obtener más información sobre los permisos de BigQuery, consulta Control de acceso con gestión de identidades y accesos.

Esquema

Cuando consultas la vista INFORMATION_SCHEMA.SCHEMATA_OPTIONS, los resultados de la consulta contienen una fila por cada opción definida en cada conjunto de datos de un proyecto.

La vista INFORMATION_SCHEMA.SCHEMATA_OPTIONS tiene el siguiente esquema:

Nombre de la columna Tipo de datos Valor
CATALOG_NAME STRING El nombre del proyecto que contiene el conjunto de datos
SCHEMA_NAME STRING Nombre del conjunto de datos, también conocido como datasetId
OPTION_NAME STRING Nombre de la opción. Para ver una lista de las opciones admitidas, consulta la lista de opciones de esquema.

La opción storage_billing_model solo se muestra en los conjuntos de datos que se hayan actualizado después del 1 de diciembre del 2022. En el caso de los conjuntos de datos que se actualizaron por última vez antes de esa fecha, el modelo de facturación del almacenamiento es LOGICAL.

OPTION_TYPE STRING El tipo de datos de la opción
OPTION_VALUE STRING Valor de la opción

Ámbito y sintaxis

Las consultas en esta vista deben incluir un calificador de región. Si no especificas un calificador regional, los metadatos se obtendrán de la región de EE. UU. En la siguiente tabla se explica el ámbito de la región de esta vista:

Nombre de la vista Ámbito de los recursos Ámbito de la región
[PROJECT_ID.]INFORMATION_SCHEMA.SCHEMATA_OPTIONS Nivel de proyecto Región de EE. UU.
[PROJECT_ID.]`region-REGION`.INFORMATION_SCHEMA.SCHEMATA_OPTIONS Nivel de proyecto REGION
Sustituye lo siguiente:
  • Opcional: PROJECT_ID: el ID de tu Google Cloud proyecto. Si no se especifica, se usa el proyecto predeterminado.
  • REGION: cualquier nombre de región del conjunto de datos. Por ejemplo, `region-us`.

Ejemplo

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

Ejemplos

Obtener el tiempo de vencimiento predeterminado de las tablas de todos los conjuntos de datos de tu proyecto

Para ejecutar la consulta en un proyecto que no sea el predeterminado, añade el ID del proyecto al conjunto de datos con el siguiente formato:

`PROJECT_ID`.INFORMATION_SCHEMA.SCHEMATA_OPTIONS
por ejemplo, `myproject`.INFORMATION_SCHEMA.SCHEMATA_OPTIONS.

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

El resultado es similar al siguiente:

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

Recuperar etiquetas de todos los conjuntos de datos de un proyecto

Para ejecutar la consulta en un proyecto que no sea el predeterminado, añade el ID del proyecto al conjunto de datos con el siguiente formato:

`PROJECT_ID`.INFORMATION_SCHEMA.SCHEMATA_OPTIONS
; por ejemplo, `myproject`.INFORMATION_SCHEMA.SCHEMATA_OPTIONS.

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

El resultado es similar al siguiente:

  +----------------+---------------+-------------+---------------------------------+------------------------+
  |  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")] |
  +----------------+---------------+-------------+---------------------------------+------------------------+