Herramienta: get_dataset_info
Obtiene información de metadatos sobre un conjunto de datos de BigQuery.
En el siguiente ejemplo se muestra cómo usar curl para invocar la herramienta get_dataset_info MCP.
| Solicitud de Curl |
|---|
curl --location 'https://bigquery.googleapis.com/mcp' \ --header 'content-type: application/json' \ --header 'accept: application/json, text/event-stream' \ --data '{ "method": "tools/call", "params": { "name": "get_dataset_info", "arguments": { // provide these details according to the tool's MCP specification } }, "jsonrpc": "2.0", "id": 1 }' |
Esquema de entrada
Solicitud de un conjunto de datos.
| Representación JSON |
|---|
{ "projectId": string, "datasetId": string } |
| Campos | |
|---|---|
projectId |
Obligatorio. ID de proyecto de la solicitud del conjunto de datos. |
datasetId |
Obligatorio. ID del conjunto de datos de la solicitud. |
Esquema de salida
Representa un conjunto de datos de BigQuery.
| Representación JSON |
|---|
{ "kind": string, "etag": string, "id": string, "selfLink": string, "datasetReference": { object ( |
| Campos | |
|---|---|
kind |
Solo de salida. El tipo de recurso. |
etag |
Solo de salida. Un hash del recurso. |
id |
Solo de salida. Nombre único completo del conjunto de datos con el formato projectId:datasetId. El nombre del conjunto de datos sin el nombre del proyecto se proporciona en el campo "datasetId". Cuando crees un conjunto de datos nuevo, deja este campo en blanco y especifica el campo "datasetId". |
selfLink |
Solo de salida. Una URL que se puede usar para acceder de nuevo al recurso. Puede usar esta URL en las solicitudes Get o Update del recurso. |
datasetReference |
Obligatorio. Referencia que identifica el conjunto de datos. |
friendlyName |
Opcional. Nombre descriptivo del conjunto de datos. |
description |
Opcional. Una descripción del conjunto de datos fácil de entender. |
defaultTableExpirationMs |
Opcional. Tiempo de vida predeterminado de todas las tablas del conjunto de datos, en milisegundos. El valor mínimo de tiempo de vida es de 3.600.000 milisegundos (una hora). Para borrar una caducidad predeterminada con una solicitud PATCH, asigna el valor 0. Una vez que se haya definido esta propiedad, todas las tablas que se creen en el conjunto de datos tendrán una propiedad expirationTime con el valor de la hora de creación más el valor de esta propiedad. Si se cambia el valor, solo se verán afectadas las tablas nuevas, no las que ya existan. Cuando se alcance el valor de expirationTime de una tabla, esta se eliminará automáticamente. Si se modifica o se elimina el valor de expirationTime de una tabla antes de que caduque, o si proporcionas un valor de expirationTime explícito al crear una tabla, ese valor tendrá prioridad sobre el valor predeterminado de expirationTime indicado por esta propiedad. |
defaultPartitionExpirationMs |
Esta caducidad de partición predeterminada, expresada en milisegundos. Cuando se creen tablas particionadas por tiempo en un conjunto de datos en el que se haya definido esta propiedad, la tabla heredará este valor, que se propagará como la propiedad Al crear una tabla particionada, si se define |
labels |
Las etiquetas asociadas a este conjunto de datos. Puedes usarlos para organizar y agrupar tus conjuntos de datos. Puede definir esta propiedad al insertar o actualizar un conjunto de datos. Para obtener más información, consulta Crear y actualizar etiquetas de conjuntos de datos. Un objeto que contiene una lista de pares |
access[] |
Opcional. Es un array de objetos que definen el acceso al conjunto de datos de una o varias entidades. Puede definir esta propiedad al insertar o actualizar un conjunto de datos para controlar quién tiene permiso para acceder a los datos. Si no se especifica al crear el conjunto de datos, BigQuery añade el acceso predeterminado al conjunto de datos para las siguientes entidades: access.specialGroup: projectReaders; access.role: READER; access.specialGroup: projectWriters; access.role: WRITER; access.specialGroup: projectOwners; access.role: OWNER; access.userByEmail: [dataset creator email]; access.role: OWNER; Si modificas un conjunto de datos, este campo se sobrescribe con el campo de acceso del conjunto de datos modificado. Para añadir entidades, debe proporcionar toda la matriz de acceso actual, así como las nuevas entidades que quiera añadir. |
creationTime |
Solo de salida. La hora en la que se creó este conjunto de datos, en milisegundos desde la época. |
lastModifiedTime |
Solo de salida. Fecha en la que se modificó este conjunto de datos por última vez, en milisegundos desde la época. |
location |
Ubicación geográfica en la que debe residir el conjunto de datos. Consulta las ubicaciones admitidas en https://cloud.google.com/bigquery/docs/locations. |
defaultEncryptionConfiguration |
Clave de cifrado predeterminada de todas las tablas del conjunto de datos. Una vez definida esta propiedad, la clave de cifrado de todas las tablas que se creen en el conjunto de datos se asignará a este valor, a menos que la solicitud de creación de la tabla o la consulta anule explícitamente la clave. |
satisfiesPzs |
Solo de salida. Reservado para uso futuro. |
satisfiesPzi |
Solo de salida. Reservado para uso futuro. |
type |
Solo de salida. Igual que
|
linkedDatasetSource |
Opcional. Referencia al conjunto de datos de origen cuando el conjunto de datos es de tipo LINKED. En el resto de los tipos de conjuntos de datos, no se define. Este campo no se puede actualizar una vez que se ha definido. Se ignorará cualquier intento de actualizar este campo mediante las operaciones de la API Update y Patch. |
linkedDatasetMetadata |
Solo de salida. Metadatos sobre el LinkedDataset. Se rellena cuando el tipo de conjunto de datos es LINKED. |
externalDatasetReference |
Opcional. Referencia a un conjunto de datos externo de solo lectura definido en catálogos de datos fuera de BigQuery. Se rellena cuando el tipo de conjunto de datos es EXTERNAL. |
externalCatalogDatasetOptions |
Opcional. Opciones que definen los conjuntos de datos compatibles con código abierto que se encuentran en el catálogo de BigQuery. Contiene los metadatos de la base de datos, el esquema o el espacio de nombres de código abierto representados por el conjunto de datos actual. |
isCaseInsensitive |
Opcional. TRUE si el conjunto de datos y los nombres de sus tablas no distinguen entre mayúsculas y minúsculas. De lo contrario, FALSE. De forma predeterminada, el valor es FALSE, lo que significa que se distingue entre mayúsculas y minúsculas en el conjunto de datos y en los nombres de sus tablas. Este campo no afecta a las referencias de rutinas. |
defaultCollation |
Opcional. Define la especificación de la recopilación predeterminada de las tablas que se creen en el conjunto de datos. Si se crea una tabla en este conjunto de datos sin una recopilación predeterminada a nivel de tabla, la tabla hereda la recopilación predeterminada del conjunto de datos, que se aplica a los campos de cadena que no tienen una recopilación explícita especificada. Los cambios que se hagan en este campo solo afectarán a las tablas que se creen después y no modificarán las tablas que ya existan. Se admiten los siguientes valores:
|
defaultRoundingMode |
Opcional. Define la especificación del modo de redondeo predeterminado de las nuevas tablas creadas en este conjunto de datos. Durante la creación de la tabla, si se especifica este campo, la tabla de este conjunto de datos heredará el modo de redondeo predeterminado del conjunto de datos. Si se define el modo de redondeo predeterminado en una tabla, se anula esta opción. Las tablas que ya estén en el conjunto de datos no se verán afectadas. Si se definen columnas durante la creación de la tabla, heredarán inmediatamente el modo de redondeo predeterminado de la tabla, a menos que se especifique lo contrario. |
maxTimeTravelHours |
Opcional. Define el periodo de la función de viaje en el tiempo en horas. El valor puede ser de entre 48 y 168 horas (de 2 a 7 días). Si no se define ningún valor, el valor predeterminado es 168 horas. |
tags[] |
Solo de salida. Etiquetas del conjunto de datos. Para proporcionar etiquetas como entradas, usa el campo |
storageBillingModel |
Opcional. Actualiza storage_billing_model del conjunto de datos. |
restrictions |
Opcional. Solo de salida. Configuración de restricciones de todas las tablas y conjuntos de datos. Si se define, restringe determinados accesos al conjunto de datos y a todas sus tablas en función de la configuración. Consulta más información sobre la salida de datos. |
resourceTags |
Opcional. Las etiquetas adjuntas a este conjunto de datos. Las claves de etiqueta son únicas en todo el mundo. La clave de la etiqueta debe tener el formato de espacio de nombres. Por ejemplo, "123456789012/environment", donde 123456789012 es el ID del recurso de organización o proyecto principal de esta clave de etiqueta. El valor de la etiqueta debe ser el nombre abreviado, por ejemplo, "Producción". Consulte Definiciones de etiquetas para obtener más información. Un objeto que contiene una lista de pares |
| Representación JSON |
|---|
{ "datasetId": string, "projectId": string, "datasetIdAlternative": [ string ], "projectIdAlternative": [ string ] } |
| Campos | |
|---|---|
datasetId |
Obligatorio. Identificador único para este conjunto de datos, sin el nombre del proyecto. El ID solo puede contener letras (a-z, A-Z), números (0-9) o guiones bajos (_). La longitud máxima es de 1024 caracteres. |
projectId |
Opcional. El ID del proyecto que contiene este conjunto de datos. |
datasetIdAlternative[] |
Este campo no se debe usar. |
projectIdAlternative[] |
Este campo no se debe usar. |
| Representación JSON |
|---|
{ "value": string } |
| Campos | |
|---|---|
value |
Valor de cadena. |
| Representación JSON |
|---|
{ "value": string } |
| Campos | |
|---|---|
value |
Valor int64. |
| Representación JSON |
|---|
{ "key": string, "value": string } |
| Campos | |
|---|---|
key |
|
value |
|
| Representación JSON |
|---|
{ "role": string, "userByEmail": string, "groupByEmail": string, "domain": string, "specialGroup": string, "iamMember": string, "view": { object ( |
| Campos | |
|---|---|
role |
ID de un rol de gestión de identidades y accesos que se debe conceder al usuario, grupo o dominio especificado en esta entrada de acceso. Se aplicarán las siguientes asignaciones antiguas:
Este campo aceptará cualquiera de los formatos anteriores, pero solo devolverá el formato antiguo. Por ejemplo, si asigna el valor "roles/bigquery.dataOwner" a este campo, se devolverá como "OWNER". |
userByEmail |
[Elige una] La dirección de correo de un usuario al que quieras conceder acceso. Por ejemplo: fred@example.com. Se asigna al miembro de la política de IAM "user:EMAIL" o "serviceAccount:EMAIL". |
groupByEmail |
[Elige una] Dirección de correo de un grupo de Google al que quieras conceder acceso. Se asigna al miembro de la política de gestión de identidades y accesos "group:GROUP". |
domain |
[Elige uno] Un dominio al que se le concede acceso. Cualquier usuario registrado en el dominio especificado podrá obtener el acceso especificado. Ejemplo: "example.com". Se asigna al miembro de la política de gestión de identidades y accesos "domain:DOMAIN". |
specialGroup |
[Elige una] Un grupo especial al que conceder acceso. Estos son algunos de los posibles valores:
Se asigna a miembros de IAM con nombres similares. |
iamMember |
[Elige una] Otro tipo de miembro que aparece en la política de IAM, pero que no es un usuario, un grupo, un dominio o un grupo especial. |
view |
[Elige una] Una vista de otro conjunto de datos al que quieras dar acceso. Las consultas ejecutadas en esa vista tendrán acceso de lectura a las vistas, tablas y rutinas de este conjunto de datos. El campo de rol no es obligatorio cuando se define este campo. Si algún usuario actualiza esa vista, se debe volver a conceder acceso a la vista mediante una operación de actualización. |
routine |
[Elige una] Una rutina de otro conjunto de datos al que quieras conceder acceso. Las consultas ejecutadas en esa rutina tendrán acceso de lectura a las vistas, tablas y rutinas de este conjunto de datos. Por ahora, solo se admite UDF. El campo de rol no es obligatorio cuando se define este campo. Si algún usuario actualiza esa rutina, se debe volver a conceder acceso a la rutina mediante una operación de actualización. |
dataset |
[Elige una] Una concesión que autoriza a todos los recursos de un tipo concreto de un conjunto de datos específico a acceder a este conjunto de datos. Por ahora, solo se admiten vistas. El campo de rol no es obligatorio cuando se define este campo. Si se elimina y se vuelve a crear ese conjunto de datos, se debe volver a conceder acceso mediante una operación de actualización. |
condition |
Opcional. Condición de la vinculación. Si la expresión CEL de este campo es verdadera, se tendrá en cuenta esta vinculación de acceso. |
| Representación JSON |
|---|
{ "projectId": string, "datasetId": string, "tableId": string, "projectIdAlternative": [ string ], "datasetIdAlternative": [ string ], "tableIdAlternative": [ string ] } |
| Campos | |
|---|---|
projectId |
Obligatorio. El ID del proyecto que contiene esta tabla. |
datasetId |
Obligatorio. ID del conjunto de datos que contiene esta tabla. |
tableId |
Obligatorio. El ID de la tabla. El ID puede contener caracteres Unicode de las categorías L (letra), M (marca), N (número), Pc (conector, incluido el guion bajo), Pd (guion) y Zs (espacio). Para obtener más información, consulta la sección Categoría general. La longitud máxima es de 1024 caracteres. En algunas operaciones, se puede añadir un sufijo al ID de la tabla con un decorador de partición, como |
projectIdAlternative[] |
Este campo no se debe usar. |
datasetIdAlternative[] |
Este campo no se debe usar. |
tableIdAlternative[] |
Este campo no se debe usar. |
| Representación JSON |
|---|
{ "projectId": string, "datasetId": string, "routineId": string } |
| Campos | |
|---|---|
projectId |
Obligatorio. El ID del proyecto que contiene esta rutina. |
datasetId |
Obligatorio. ID del conjunto de datos que contiene esta rutina. |
routineId |
Obligatorio. El ID de la rutina. El ID solo puede contener letras (a-z, A-Z), números (0-9) o guiones bajos (_). La longitud máxima es de 256 caracteres. |
| Representación JSON |
|---|
{ "dataset": { object ( |
| Campos | |
|---|---|
dataset |
El conjunto de datos al que se aplica esta entrada |
targetTypes[] |
A qué recursos del conjunto de datos se aplica esta entrada. Actualmente, solo se admiten vistas, pero es posible que se añadan otros tipos de destino en el futuro. |
| Representación JSON |
|---|
{ "expression": string, "title": string, "description": string, "location": string } |
| Campos | |
|---|---|
expression |
Representación textual de una expresión en la sintaxis del lenguaje de expresión común. |
title |
Opcional. Título de la expresión, es decir, una cadena corta que describe su finalidad. Por ejemplo, se puede usar en interfaces de usuario que permitan introducir la expresión. |
description |
Opcional. Descripción de la expresión. Este es un texto más largo que describe la expresión, por ejemplo, cuando se coloca el cursor sobre ella en una interfaz de usuario. |
location |
Opcional. Cadena que indica la ubicación de la expresión para generar informes de errores. Por ejemplo, el nombre de un archivo y una posición en el archivo. |
| Representación JSON |
|---|
{ "kmsKeyName": string } |
| Campos | |
|---|---|
kmsKeyName |
Opcional. Describe la clave de cifrado de Cloud KMS que se usará para proteger la tabla de BigQuery de destino. La cuenta de servicio de BigQuery asociada a tu proyecto necesita acceder a esta clave de cifrado. |
| Representación JSON |
|---|
{ "value": boolean } |
| Campos | |
|---|---|
value |
Valor booleano. |
| Representación JSON |
|---|
{
"sourceDataset": {
object ( |
| Campos | |
|---|---|
sourceDataset |
La referencia del conjunto de datos de origen contiene números de proyecto y no IDs de proyecto. |
| Representación JSON |
|---|
{
"linkState": enum ( |
| Campos | |
|---|---|
linkState |
Solo de salida. Especifica si el conjunto de datos vinculado está vinculado o no. |
| Representación JSON |
|---|
{ "externalSource": string, "connection": string } |
| Campos | |
|---|---|
externalSource |
Obligatorio. Fuente externa que respalda este conjunto de datos. |
connection |
Obligatorio. El ID de conexión que se usa para acceder a external_source. Formato: projects/{project_id}/locations/{location_id}/connections/{connection_id} |
| Representación JSON |
|---|
{ "parameters": { string: string, ... }, "defaultStorageLocationUri": string } |
| Campos | |
|---|---|
parameters |
Opcional. Un mapa de pares clave-valor que define los parámetros y las propiedades del esquema de código abierto. Tamaño máximo de 2 MiB. Un objeto que contiene una lista de pares |
defaultStorageLocationUri |
Opcional. URI de la ubicación de almacenamiento de todas las tablas del conjunto de datos. Equivalente a la propiedad locationUri de la base de datos de Hive Metastore. La longitud máxima es de 1024 caracteres. |
| Representación JSON |
|---|
{ "key": string, "value": string } |
| Campos | |
|---|---|
key |
|
value |
|
| Representación JSON |
|---|
{ "tagKey": string, "tagValue": string } |
| Campos | |
|---|---|
tagKey |
Obligatorio. Nombre descriptivo con espacio de nombres de la clave de la etiqueta (por ejemplo, "12345/environment", donde 12345 es el ID de la organización). |
tagValue |
Obligatorio. Nombre corto descriptivo del valor de la etiqueta, como "producción". |
| Representación JSON |
|---|
{
"type": enum ( |
| Campos | |
|---|---|
type |
Solo de salida. Especifica el tipo de restricción de conjunto de datos o tabla. |
| Representación JSON |
|---|
{ "key": string, "value": string } |
| Campos | |
|---|---|
key |
|
value |
|
Anotaciones de herramientas
Pista destructiva: ❌ | Pista idempotente: ✅ | Pista de solo lectura: ✅ | Pista de mundo abierto: ❌