Vista de SCHEMATA_OPTIONS
La vista INFORMATION_SCHEMA.SCHEMATA_OPTIONS
contiene una fila para cada opción
que se establece en cada conjunto de datos en un proyecto.
Antes de comenzar
Para consultar la vista SCHEMATA_OPTIONS
de los metadatos del conjunto de datos, necesitas el permiso bigquery.datasets.get
de Identity and Access Management (IAM) a nivel de proyecto.
Cada uno de los siguientes roles predefinidos de IAM 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 IAM de BigQuery, consulta Control de acceso con IAM.
Esquema
Cuando consultas la vistaINFORMATION_SCHEMA.SCHEMATA_OPTIONS
, los resultados de la consulta
contienen una fila por cada opción que se establece 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 |
El nombre del conjunto de datos, también denominado datasetId |
OPTION_NAME |
STRING |
El nombre de la opción. Para obtener una lista de las opciones compatibles, consulta la
lista de opciones de esquema.
La opción |
OPTION_TYPE |
STRING |
Tipo de datos de la opción |
OPTION_VALUE |
STRING |
El valor de la opción |
Permiso y sintaxis
Las consultas realizadas a esta vista deben incluir un calificador de región. Si no especificas un calificador regional, los metadatos se recuperan de la región de EE.UU. En la siguiente tabla, se explica el permiso de la región para esta vista:
Nombre de la vista | Permiso del recurso | Permiso 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 |
- Opcional:
PROJECT_ID
: el ID del proyecto de Google Cloud. Si no se especifica, se usa el proyecto predeterminado.
REGION
: Cualquier nombre de región del conjunto de datos.
Un ejemplo es region-us
.
Ejemplo
-- Returns metadata for datasets in a region.
SELECT * FROM region-us.INFORMATION_SCHEMA.SCHEMATA_OPTIONS;
Ejemplos
Recupera el tiempo de vencimiento de tabla predeterminado de todos los conjuntos de datos en tu proyecto
Para ejecutar la consulta en un proyecto que no sea el predeterminado, agrega el ID del proyecto al conjunto de datos en este formato:
`PROJECT_ID`.INFORMATION_SCHEMA.SCHEMATA_OPTIONS
`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 | +----------------+---------------+-------------------------------+-------------+---------------------+
Recupera las etiquetas de todos los conjuntos de datos de tu proyecto
Para ejecutar la consulta en un proyecto que no sea el predeterminado, agrega el ID del proyecto al conjunto de datos en este formato:
`PROJECT_ID`.INFORMATION_SCHEMA.SCHEMATA_OPTIONS
`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")] | +----------------+---------------+-------------+---------------------------------+------------------------+