MCP Tools Reference: bigquery.googleapis.com

Herramienta: get_dataset_info

Obtén 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 de MCP get_dataset_info.

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

Es una solicitud de un conjunto de datos.

Representación JSON
{
  "projectId": string,
  "datasetId": string
}
Campos
projectId

string

Obligatorio. Es el ID del proyecto de la solicitud del conjunto de datos.

datasetId

string

Obligatorio. Es el ID del conjunto de datos de la solicitud del conjunto de datos.

Esquema de salida

Representa un conjunto de datos de BigQuery.

Representación JSON
{
  "kind": string,
  "etag": string,
  "id": string,
  "selfLink": string,
  "datasetReference": {
    object (DatasetReference)
  },
  "friendlyName": string,
  "description": string,
  "defaultTableExpirationMs": string,
  "defaultPartitionExpirationMs": string,
  "labels": {
    string: string,
    ...
  },
  "access": [
    {
      object (Access)
    }
  ],
  "creationTime": string,
  "lastModifiedTime": string,
  "location": string,
  "defaultEncryptionConfiguration": {
    object (EncryptionConfiguration)
  },
  "satisfiesPzs": boolean,
  "satisfiesPzi": boolean,
  "type": string,
  "linkedDatasetSource": {
    object (LinkedDatasetSource)
  },
  "linkedDatasetMetadata": {
    object (LinkedDatasetMetadata)
  },
  "externalDatasetReference": {
    object (ExternalDatasetReference)
  },
  "externalCatalogDatasetOptions": {
    object (ExternalCatalogDatasetOptions)
  },
  "isCaseInsensitive": boolean,
  "defaultCollation": string,
  "defaultRoundingMode": enum (RoundingMode),
  "maxTimeTravelHours": string,
  "tags": [
    {
      object (GcpTag)
    }
  ],
  "storageBillingModel": enum (StorageBillingModel),
  "restrictions": {
    object (RestrictionConfig)
  },
  "resourceTags": {
    string: string,
    ...
  }
}
Campos
kind

string

Solo salida. El tipo del recurso.

etag

string

Solo salida. Es un hash del recurso.

id

string

Solo salida. Nombre único y completamente calificado del conjunto de datos en 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, en su lugar, especifica el campo datasetId.

selfLink

string

Solo salida. Es una URL que se puede usar para volver a acceder al recurso. Puedes usar esta URL en las solicitudes Get o Update al recurso.

datasetReference

object (DatasetReference)

Obligatorio. Es una referencia que identifica el conjunto de datos.

friendlyName

string

Es opcional. Es un nombre descriptivo para el conjunto de datos.

description

string

Opcional. Una descripción fácil de usar del conjunto de datos.

defaultTableExpirationMs

string (Int64Value format)

Es opcional. Es el ciclo de vida predeterminado de todas las tablas del conjunto de datos, en milisegundos. El valor mínimo de vida útil es de 3,600,000 milisegundos (una hora). Para borrar un vencimiento predeterminado existente con una solicitud PATCH, establece el valor en 0. Una vez que se establece esta propiedad, todas las tablas recién creadas en el conjunto de datos tendrán una propiedad expirationTime establecida en la hora de creación más el valor de esta propiedad, y cambiar el valor solo afectará a las tablas nuevas, no a las existentes. Cuando se alcance el valor de expirationTime para una tabla determinada, esta se borrará automáticamente. Si se modifica o quita el valor de expirationTime de una tabla antes de que venza, o si proporcionas un valor de expirationTime explícito cuando creas una tabla, ese valor tiene prioridad sobre el tiempo de vencimiento predeterminado que indica esta propiedad.

defaultPartitionExpirationMs

string (Int64Value format)

Es el vencimiento predeterminado de la partición, expresado en milisegundos.

Cuando se crean tablas particionadas por tiempo nuevas en un conjunto de datos en el que se establece esta propiedad, la tabla heredará este valor, que se propagará como la propiedad TimePartitioning.expirationMs en la tabla nueva. Si configuras TimePartitioning.expirationMs de forma explícita cuando creas una tabla, se ignora el defaultPartitionExpirationMs del conjunto de datos que la contiene.

Cuando se crea una tabla particionada, si se configura defaultPartitionExpirationMs, se ignora el valor de defaultTableExpirationMs y la tabla no heredará una fecha límite de vencimiento.

labels

map (key: string, value: string)

Las etiquetas asociadas a este conjunto de datos. Puedes usarlas para organizar y agrupar tus conjuntos de datos. Puedes configurar esta propiedad cuando insertas o actualizas un conjunto de datos. Consulta Cómo crear y actualizar etiquetas de conjuntos de datos para obtener más información.

Un objeto que contiene una lista de pares "key": value. Ejemplo: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

access[]

object (Access)

Es opcional. Es un array de objetos que definen el acceso al conjunto de datos para una o más entidades. Puedes configurar esta propiedad cuando insertas o actualizas un conjunto de datos para controlar quién puede acceder a los datos. Si no se especifica en el momento de la creación del conjunto de datos, BigQuery agrega 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: [correo electrónico del creador del conjunto de datos]; access.role: OWNER. Si aplicas un parche a un conjunto de datos, este campo se reemplaza por el campo de acceso del conjunto de datos parcheado. Para agregar entidades, debes proporcionar todo el array de acceso existente, además de las entidades nuevas que quieras agregar.

creationTime

string (int64 format)

Solo salida. Es la fecha y hora en que se creó este conjunto de datos, en milisegundos desde la época.

lastModifiedTime

string (int64 format)

Solo salida. Fecha en la que se modificó este conjunto de datos por última vez, en milisegundos desde el ciclo de entrenamiento.

location

string

La ubicación geográfica donde debe residir el conjunto de datos. Consulta https://cloud.google.com/bigquery/docs/locations para conocer las ubicaciones compatibles.

defaultEncryptionConfiguration

object (EncryptionConfiguration)

Es la clave de encriptación predeterminada para todas las tablas del conjunto de datos. Después de configurar esta propiedad, la clave de encriptación de todas las tablas recién creadas en el conjunto de datos se establece en este valor, a menos que la solicitud o consulta de creación de la tabla anule explícitamente la clave.

satisfiesPzs

boolean

Solo salida. Se reserva para usarlo más adelante.

satisfiesPzi

boolean

Solo salida. Se reserva para usarlo más adelante.

type

string

Solo salida. Es igual que type en ListFormatDataset. Tipo de conjunto de datos, uno de los siguientes:

  • DEFAULT: Solo pueden acceder a él el propietario y las cuentas autorizadas.
  • PÚBLICO: Accesible para todos
  • LINKED: Conjunto de datos vinculado
  • EXTERNAL: Es un conjunto de datos con una definición en el catálogo de metadatos externos.
linkedDatasetSource

object (LinkedDatasetSource)

Es opcional. Es la referencia del conjunto de datos de origen cuando el conjunto de datos es de tipo LINKED. No se establece para todos los demás tipos de conjuntos de datos. Este campo no se puede actualizar una vez que se configura. Se ignorará cualquier intento de actualizar este campo con las operaciones de la API de Update y Patch.

linkedDatasetMetadata

object (LinkedDatasetMetadata)

Solo salida. Son los metadatos sobre el LinkedDataset. Se completa cuando el tipo de conjunto de datos es LINKED.

externalDatasetReference

object (ExternalDatasetReference)

Es opcional. Es una referencia a un conjunto de datos externo de solo lectura definido en catálogos de datos fuera de BigQuery. Se completa cuando el tipo de conjunto de datos es EXTERNAL.

externalCatalogDatasetOptions

object (ExternalCatalogDatasetOptions)

Es opcional. Son las opciones que definen los conjuntos de datos compatibles con código abierto que se encuentran en el catálogo de BigQuery. Contiene 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

boolean

Es opcional. Es TRUE si el conjunto de datos y sus nombres de tabla no distinguen mayúsculas de minúsculas; de lo contrario, es FALSE. De forma predeterminada, es FALSE, lo que significa que el conjunto de datos y sus nombres de tabla distinguen mayúsculas de minúsculas. Este campo no afecta las referencias de rutina.

defaultCollation

string

Es opcional. Define la especificación de intercalación predeterminada de las tablas futuras que se creen en el conjunto de datos. Si se crea una tabla en este conjunto de datos sin una intercalación predeterminada a nivel de la tabla, la tabla hereda la intercalación predeterminada del conjunto de datos, que se aplica a los campos de cadena que no tienen una intercalación explícita especificada. Un cambio en este campo solo afecta a las tablas creadas posteriormente y no altera las tablas existentes. Se admiten los siguientes valores:

  • "und:ci": Es una configuración regional indeterminada que no distingue mayúsculas de minúsculas.
  • "": Cadena vacía. Se establece un comportamiento que distingue mayúsculas de minúsculas de forma predeterminada.
defaultRoundingMode

enum (RoundingMode)

Es opcional. Define la especificación del modo de redondeo predeterminado de las tablas nuevas creadas en este conjunto de datos. Durante la creación de la tabla, si se especifica este campo, la tabla dentro de este conjunto de datos heredará el modo de redondeo predeterminado del conjunto de datos. Configurar el modo de redondeo predeterminado en una tabla anula esta opción. Las tablas existentes en el conjunto de datos no se ven afectadas. Si se definen columnas durante la creación de esa tabla, heredarán de inmediato el modo de redondeo predeterminado de la tabla, a menos que se especifique lo contrario.

maxTimeTravelHours

string (Int64Value format)

Es opcional. Define el período de viaje en el tiempo en horas. El valor puede ser de 48 a 168 horas (de 2 a 7 días). El valor predeterminado es 168 horas si no se configura.

tags[]
(deprecated)

object (GcpTag)

Solo salida. Son las etiquetas del conjunto de datos. Para proporcionar etiquetas como entradas, usa el campo resourceTags.

storageBillingModel

enum (StorageBillingModel)

Es opcional. Actualiza storage_billing_model para el conjunto de datos.

restrictions

object (RestrictionConfig)

Es opcional. Solo salida. Es la configuración de restricción para todas las tablas y el conjunto de datos. Si se configura, restringe ciertos accesos al conjunto de datos y a todas sus tablas según la configuración. Consulta Salida de datos para obtener más detalles.

resourceTags

map (key: string, value: string)

Es opcional. Son las etiquetas adjuntas a este conjunto de datos. Las claves de etiquetas son únicas a nivel global. Se espera que la clave de etiqueta esté en el formato con espacio de nombres, por ejemplo, "123456789012/environment", en el que 123456789012 es el ID del recurso de organización o proyecto principal para esta clave de etiqueta. Se espera que el valor de la etiqueta sea el nombre corto, por ejemplo, "Producción". Consulta Definiciones de etiquetas para obtener más detalles.

Un objeto que contiene una lista de pares "key": value. Ejemplo: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

Representación JSON
{
  "datasetId": string,
  "projectId": string,
  "datasetIdAlternative": [
    string
  ],
  "projectIdAlternative": [
    string
  ]
}
Campos
datasetId

string

Obligatorio. Un ID único para este conjunto de datos, sin el nombre del proyecto. El ID debe contener solo letras (a-z, A-Z), números (0-9) o guiones bajos (_). La longitud máxima es de 1,024 caracteres.

projectId

string

Opcional. El ID del proyecto que contiene este conjunto de datos.

datasetIdAlternative[]

string

No se debe usar este campo.

projectIdAlternative[]

string

No se debe usar este campo.

Representación JSON
{
  "value": string
}
Campos
value

string

El valor de string.

Representación JSON
{
  "value": string
}
Campos
value

string (int64 format)

Es el valor int64.

Representación JSON
{
  "key": string,
  "value": string
}
Campos
key

string

value

string

Representación JSON
{
  "role": string,
  "userByEmail": string,
  "groupByEmail": string,
  "domain": string,
  "specialGroup": string,
  "iamMember": string,
  "view": {
    object (TableReference)
  },
  "routine": {
    object (RoutineReference)
  },
  "dataset": {
    object (DatasetAccessEntry)
  },
  "condition": {
    object (google.type.Expr)
  }
}
Campos
role

string

Es el ID del rol de IAM que se debe otorgar al usuario, grupo o dominio especificado en esta entrada de acceso. Se aplicarán las siguientes asignaciones heredadas:

  • OWNER: roles/bigquery.dataOwner
  • WRITER: roles/bigquery.dataEditor
  • READER: roles/bigquery.dataViewer

Este campo aceptará cualquiera de los formatos anteriores, pero solo devolverá el formato heredado. Por ejemplo, si configuras este campo como "roles/bigquery.dataOwner", se devolverá como "OWNER".

userByEmail

string

[Elige una opción] Dirección de correo electrónico de un usuario al que se le otorgará acceso. Por ejemplo, fred@example.com. Se asigna al miembro de la política de IAM "user:EMAIL" o "serviceAccount:EMAIL".

groupByEmail

string

[Elige una opción] Dirección de correo electrónico de un Grupo de Google al que se le otorgará acceso. Se asigna al miembro de la política de IAM "group:GROUP".

domain

string

[Elige una opción] Es un dominio al que se le otorgará acceso. Se otorgará el acceso especificado a todos los usuarios que hayan accedido con el dominio especificado. Ejemplo: "example.com". Se asigna al miembro de la política de IAM "domain:DOMAIN".

specialGroup

string

[Elige una] Es un grupo especial al que se le otorga acceso. Estos son algunos de los valores posibles:

  • projectOwners: Son los propietarios del proyecto que contiene el recurso.
  • projectReaders: Lectores del proyecto que lo contiene.
  • projectWriters: Son los escritores del proyecto adjunto.
  • allAuthenticatedUsers: Todos los usuarios autenticados de BigQuery.

Se asigna a miembros de IAM con nombres similares.

iamMember

string

[Elige una] Algún otro tipo de miembro que aparece en la política de IAM, pero no es un usuario, un grupo, un dominio ni un grupo especial.

view

object (TableReference)

[Elige una] Es una vista de un conjunto de datos diferente al que se otorgará acceso. Las consultas ejecutadas en esa vista tendrán acceso de lectura a las vistas, las tablas y las rutinas de este conjunto de datos. El campo role no es obligatorio cuando se establece este campo. Si algún usuario actualiza esa vista, se debe volver a otorgar el acceso a través de una operación de actualización.

routine

object (RoutineReference)

[Elige una] Rutina de un conjunto de datos diferente al que se otorgará acceso. Las consultas ejecutadas en esa rutina tendrán acceso de lectura a las vistas, las tablas y las rutinas de este conjunto de datos. Por el momento, solo se admite la UDF. El campo role no es obligatorio cuando se establece este campo. Si algún usuario actualiza esa rutina, se debe volver a otorgar el acceso a ella a través de una operación de actualización.

dataset

object (DatasetAccessEntry)

[Elige una opción] Es un permiso que autoriza a todos los recursos de un tipo en particular en un conjunto de datos específico a acceder a este conjunto de datos. Por el momento, solo se admiten las vistas. El campo role no es obligatorio cuando se establece este campo. Si se borra y se vuelve a crear ese conjunto de datos, se debe volver a otorgar el acceso a través de una operación de actualización.

condition

object (google.type.Expr)

Es opcional y representa la condición de la vinculación. Si la expresión CEL en este campo es verdadera, se considerará esta vinculación de acceso.

Representación JSON
{
  "projectId": string,
  "datasetId": string,
  "tableId": string,
  "projectIdAlternative": [
    string
  ],
  "datasetIdAlternative": [
    string
  ],
  "tableIdAlternative": [
    string
  ]
}
Campos
projectId

string

Obligatorio. Es el ID del proyecto que contiene esta tabla.

datasetId

string

Obligatorio. ID del conjunto de datos que contiene esta tabla.

tableId

string

Obligatorio. Es el ID de la tabla. El ID puede contener caracteres Unicode en las categorías L (letra), M (marca), N (número), Pc (conector, incluido el guion bajo), Pd (raya) y Zs (espacio). Para obtener más información, consulta la Categoría general. La longitud máxima es de 1,024 caracteres. Algunas operaciones permiten agregar un sufijo al ID de la tabla con un decorador de partición, como sample_table$20190123.

projectIdAlternative[]

string

No se debe usar este campo.

datasetIdAlternative[]

string

No se debe usar este campo.

tableIdAlternative[]

string

No se debe usar este campo.

Representación JSON
{
  "projectId": string,
  "datasetId": string,
  "routineId": string
}
Campos
projectId

string

Obligatorio. ID del proyecto que contiene esta rutina.

datasetId

string

Obligatorio. Es el ID del conjunto de datos que contiene esta rutina.

routineId

string

Obligatorio. Es el ID de la rutina. El ID debe contener solo 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 (DatasetReference)
  },
  "targetTypes": [
    enum (TargetType)
  ]
}
Campos
dataset

object (DatasetReference)

Es el conjunto de datos al que se aplica esta entrada.

targetTypes[]

enum (TargetType)

Indica a qué recursos del conjunto de datos se aplica esta entrada. Actualmente, solo se admiten las vistas, pero es posible que se agreguen otros tipos de objetivos en el futuro.

Representación JSON
{
  "expression": string,
  "title": string,
  "description": string,
  "location": string
}
Campos
expression

string

Representación textual de una expresión en la sintaxis de Common Expression Language.

title

string

Opcional. Título de la expresión (una string corta que describe el propósito de esta). Se puede usar, p. ej., en IU que permiten ingresar la expresión.

description

string

Opcional. Descripción de la expresión. Es un texto más largo que describe la expresión (p. ej., cuando se coloca el cursor sobre ella en una IU).

location

string

Opcional. Una string que indica la ubicación de la expresión para los informes de errores (p. ej., un nombre de archivo y una posición en este).

Representación JSON
{
  "kmsKeyName": string
}
Campos
kmsKeyName

string

Es opcional. Describe la clave de encriptación de Cloud KMS que se usará para proteger la tabla de BigQuery de destino. La cuenta de servicio de BigQuery asociada a tu proyecto requiere acceso a esta clave de encriptación.

Representación JSON
{
  "value": boolean
}
Campos
value

boolean

Es el valor booleano.

Representación JSON
{
  "sourceDataset": {
    object (DatasetReference)
  }
}
Campos
sourceDataset

object (DatasetReference)

La referencia del conjunto de datos fuente contiene números de proyecto y no IDs de proyecto.

Representación JSON
{
  "linkState": enum (LinkState)
}
Campos
linkState

enum (LinkState)

Solo salida. Especifica si el conjunto de datos vinculado se encuentra actualmente en un estado vinculado o no.

Representación JSON
{
  "externalSource": string,
  "connection": string
}
Campos
externalSource

string

Obligatorio. Es la fuente externa que respalda este conjunto de datos.

connection

string

Obligatorio. Es 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

map (key: string, value: string)

Es opcional. Es un mapa de pares clave-valor que definen los parámetros y las propiedades del esquema de código abierto. El tamaño máximo es de 2 MiB.

Un objeto que contiene una lista de pares "key": value. Ejemplo: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

defaultStorageLocationUri

string

Es opcional. Es el URI de la ubicación de almacenamiento de todas las tablas del conjunto de datos. Equivale a la ubicación de la base de datos locationUri del almacén de metadatos de Hive. La longitud máxima es de 1,024 caracteres.

Representación JSON
{
  "key": string,
  "value": string
}
Campos
key

string

value

string

Representación JSON
{
  "tagKey": string,
  "tagValue": string
}
Campos
tagKey

string

Obligatorio. Es el nombre descriptivo con espacio de nombres de la clave de la etiqueta, p.ej., "12345/environment", donde 12345 es el ID de la organización.

tagValue

string

Obligatorio. Es el nombre corto descriptivo del valor de la etiqueta, p.ej., "producción".

Representación JSON
{
  "type": enum (RestrictionType)
}
Campos
type

enum (RestrictionType)

Solo salida. Especifica el tipo de restricción de conjunto de datos o tabla.

Representación JSON
{
  "key": string,
  "value": string
}
Campos
key

string

value

string

Anotaciones de herramientas

Sugerencia destructiva: ❌ | Sugerencia idempotente: ✅ | Sugerencia de solo lectura: ✅ | Sugerencia de mundo abierto: ❌