MCP Tools Reference: bigquery.googleapis.com

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

string

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

datasetId

string

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 (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 de salida. El tipo de recurso.

etag

string

Solo de salida. Un hash del recurso.

id

string

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

string

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

object (DatasetReference)

Obligatorio. Referencia que identifica el conjunto de datos.

friendlyName

string

Opcional. Nombre descriptivo del conjunto de datos.

description

string

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

defaultTableExpirationMs

string (Int64Value format)

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

string (Int64Value format)

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 TimePartitioning.expirationMs en la nueva tabla. Si defines TimePartitioning.expirationMs explícitamente al crear una tabla, se ignora el defaultPartitionExpirationMs del conjunto de datos que la contiene.

Al crear una tabla particionada, si se define defaultPartitionExpirationMs, se ignora el valor de defaultTableExpirationMs y la tabla no hereda una fecha límite de caducidad.

labels

map (key: string, value: string)

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 "key": value. Ejemplo: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

access[]

object (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

string (int64 format)

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

lastModifiedTime

string (int64 format)

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

location

string

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

object (EncryptionConfiguration)

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

boolean

Solo de salida. Reservado para uso futuro.

satisfiesPzi

boolean

Solo de salida. Reservado para uso futuro.

type

string

Solo de salida. Igual que type en ListFormatDataset. El tipo del conjunto de datos, que puede ser uno de los siguientes:

  • PREDETERMINADO: solo pueden acceder el propietario y las cuentas autorizadas.
  • PÚBLICO: accesible para todos.
  • LINKED: conjunto de datos vinculado.
  • EXTERNAL: conjunto de datos con definición en un catálogo de metadatos externo.
linkedDatasetSource

object (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

object (LinkedDatasetMetadata)

Solo de salida. Metadatos sobre el LinkedDataset. Se rellena cuando el tipo de conjunto de datos es LINKED.

externalDatasetReference

object (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

object (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

boolean

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

string

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:

  • 'und:ci': configuración regional indeterminada, sin distinción entre mayúsculas y minúsculas.
  • '': cadena vacía. Se distingue entre mayúsculas y minúsculas de forma predeterminada.
defaultRoundingMode

enum (RoundingMode)

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

string (Int64Value format)

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[]
(deprecated)

object (GcpTag)

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

storageBillingModel

enum (StorageBillingModel)

Opcional. Actualiza storage_billing_model del conjunto de datos.

restrictions

object (RestrictionConfig)

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

map (key: string, value: string)

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 "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. 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

string

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

datasetIdAlternative[]

string

Este campo no se debe usar.

projectIdAlternative[]

string

Este campo no se debe usar.

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

string

Valor de cadena.

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

string (int64 format)

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

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:

  • 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 antiguo. Por ejemplo, si asigna el valor "roles/bigquery.dataOwner" a este campo, se devolverá como "OWNER".

userByEmail

string

[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

string

[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

string

[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

string

[Elige una] Un grupo especial al que conceder acceso. Estos son algunos de los posibles valores:

  • projectOwners: propietarios del proyecto contenedor.
  • projectReaders: lectores del proyecto que lo contiene.
  • projectWriters: escritores del proyecto contenedor.
  • allAuthenticatedUsers: todos los usuarios autenticados de BigQuery.

Se asigna a miembros de IAM con nombres similares.

iamMember

string

[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

object (TableReference)

[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

object (RoutineReference)

[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

object (DatasetAccessEntry)

[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

object (google.type.Expr)

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

string

Obligatorio. El ID del proyecto que contiene esta tabla.

datasetId

string

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

tableId

string

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 sample_table$20190123.

projectIdAlternative[]

string

Este campo no se debe usar.

datasetIdAlternative[]

string

Este campo no se debe usar.

tableIdAlternative[]

string

Este campo no se debe usar.

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

string

Obligatorio. El ID del proyecto que contiene esta rutina.

datasetId

string

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

routineId

string

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 (DatasetReference)
  },
  "targetTypes": [
    enum (TargetType)
  ]
}
Campos
dataset

object (DatasetReference)

El conjunto de datos al que se aplica esta entrada

targetTypes[]

enum (TargetType)

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

string

Representación textual de una expresión en la sintaxis del lenguaje de expresión común.

title

string

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

string

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

string

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

string

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

boolean

Valor booleano.

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

object (DatasetReference)

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

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

enum (LinkState)

Solo de salida. Especifica si el conjunto de datos vinculado está vinculado o no.

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

string

Obligatorio. Fuente externa que respalda este conjunto de datos.

connection

string

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

map (key: string, value: string)

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 "key": value. Ejemplo: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

defaultStorageLocationUri

string

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

string

value

string

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

string

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

string

Obligatorio. Nombre corto descriptivo del valor de la etiqueta, como "producción".

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

enum (RestrictionType)

Solo de 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

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