MCP Tools Reference: bigquery.googleapis.com

Ferramenta: get_dataset_info

Obter informações de metadados sobre um conjunto de dados do BigQuery.

O exemplo seguinte demonstra como usar curl para invocar a ferramenta MCP get_dataset_info.

Pedido 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

Pedido de um conjunto de dados.

Representação JSON
{
  "projectId": string,
  "datasetId": string
}
Campos
projectId

string

Obrigatório. ID do projeto do pedido do conjunto de dados.

datasetId

string

Obrigatório. ID do conjunto de dados do pedido de conjunto de dados.

Esquema de saída

Representa um conjunto de dados do BigQuery.

Representação 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

Apenas saída. O tipo de recurso.

etag

string

Apenas saída. Um hash do recurso.

id

string

Apenas saída. O nome exclusivo totalmente qualificado do conjunto de dados no formato projectId:datasetId. O nome do conjunto de dados sem o nome do projeto é fornecido no campo datasetId. Quando criar um novo conjunto de dados, deixe este campo em branco e, em alternativa, especifique o campo datasetId.

selfLink

string

Apenas saída. Um URL que pode ser usado para aceder novamente ao recurso. Pode usar este URL em pedidos Get ou Update para o recurso.

datasetReference

object (DatasetReference)

Obrigatório. Uma referência que identifica o conjunto de dados.

friendlyName

string

Opcional. Um nome descritivo para o conjunto de dados.

description

string

Opcional. Uma descrição intuitiva do conjunto de dados.

defaultTableExpirationMs

string (Int64Value format)

Opcional. O tempo de vida predefinido de todas as tabelas no conjunto de dados, em milissegundos. O valor mínimo de tempo de vida é de 3 600 000 milissegundos (uma hora). Para limpar uma validade predefinida existente com um pedido PATCH, defina-a como 0. Assim que esta propriedade for definida, todas as tabelas recém-criadas no conjunto de dados terão uma propriedade expirationTime definida para a hora de criação mais o valor nesta propriedade, e a alteração do valor só afetará as novas tabelas e não as existentes. Quando o expirationTime de uma determinada tabela é atingido, essa tabela é eliminada automaticamente. Se o expirationTime de uma tabela for modificado ou removido antes de a tabela expirar, ou se fornecer um expirationTime explícito quando criar uma tabela, esse valor tem precedência sobre o tempo de expiração predefinido indicado por esta propriedade.

defaultPartitionExpirationMs

string (Int64Value format)

Esta validade da partição predefinida, expressa em milissegundos.

Quando são criadas novas tabelas particionadas por tempo num conjunto de dados onde esta propriedade está definida, a tabela herda este valor, propagado como a propriedade TimePartitioning.expirationMs na nova tabela. Se definir TimePartitioning.expirationMs explicitamente quando cria uma tabela, o defaultPartitionExpirationMs do conjunto de dados que a contém é ignorado.

Quando cria uma tabela particionada, se defaultPartitionExpirationMs estiver definido, o valor defaultTableExpirationMs é ignorado e a tabela não herda um prazo de validade da tabela.

labels

map (key: string, value: string)

As etiquetas associadas a este conjunto de dados. Pode usá-los para organizar e agrupar os seus conjuntos de dados. Pode definir esta propriedade quando inserir ou atualizar um conjunto de dados. Consulte o artigo Criar e atualizar etiquetas de conjuntos de dados para mais informações.

Um objeto que contém uma lista de pares "key": value. Exemplo: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

access[]

object (Access)

Opcional. Uma matriz de objetos que definem o acesso ao conjunto de dados para uma ou mais entidades. Pode definir esta propriedade quando inserir ou atualizar um conjunto de dados para controlar quem tem autorização para aceder aos dados. Se não for especificado no momento da criação do conjunto de dados, o BigQuery adiciona o acesso predefinido ao conjunto de dados para as seguintes entidades: access.specialGroup: projectReaders; access.role: READER; access.specialGroup: projectWriters; access.role: WRITER; access.specialGroup: projectOwners; access.role: OWNER; access.userByEmail: [email do criador do conjunto de dados]; access.role: OWNER; Se aplicar um patch a um conjunto de dados, este campo é substituído pelo campo de acesso do conjunto de dados com patch. Para adicionar entidades, tem de fornecer toda a matriz de acesso existente, além de quaisquer novas entidades que queira adicionar.

creationTime

string (int64 format)

Apenas saída. A hora em que este conjunto de dados foi criado, em milissegundos desde o epoch.

lastModifiedTime

string (int64 format)

Apenas saída. A data em que este conjunto de dados foi modificado pela última vez, em milissegundos desde a época.

location

string

A localização geográfica onde o conjunto de dados deve residir. Consulte https://cloud.google.com/bigquery/docs/locations para ver as localizações suportadas.

defaultEncryptionConfiguration

object (EncryptionConfiguration)

A chave de encriptação predefinida para todas as tabelas no conjunto de dados. Depois de definir esta propriedade, a chave de encriptação de todas as tabelas recém-criadas no conjunto de dados é definida para este valor, a menos que o pedido ou a consulta de criação de tabelas substitua explicitamente a chave.

satisfiesPzs

boolean

Apenas saída. Reservado para utilização futura.

satisfiesPzi

boolean

Apenas saída. Reservado para utilização futura.

type

string

Apenas saída. Igual a type em ListFormatDataset. O tipo do conjunto de dados, um dos seguintes:

  • DEFAULT: apenas acessível pelo proprietário e por contas autorizadas
  • PÚBLICO: acessível a todos
  • ASSOCIADO: conjunto de dados associado,
  • EXTERNAL: conjunto de dados com definição no catálogo de metadados externos.
linkedDatasetSource

object (LinkedDatasetSource)

Opcional. A referência do conjunto de dados de origem quando o conjunto de dados é do tipo LINKED. Para todos os outros tipos de conjuntos de dados, não está definido. Não é possível atualizar este campo depois de definido. Qualquer tentativa de atualizar este campo através das operações da API Update e Patch será ignorada.

linkedDatasetMetadata

object (LinkedDatasetMetadata)

Apenas saída. Metadados sobre o LinkedDataset. Preenchido quando o tipo de conjunto de dados é LINKED.

externalDatasetReference

object (ExternalDatasetReference)

Opcional. Referência a um conjunto de dados externo só de leitura definido em catálogos de dados fora do BigQuery. Preenchido quando o tipo de conjunto de dados é EXTERNAL.

externalCatalogDatasetOptions

object (ExternalCatalogDatasetOptions)

Opcional. Opções que definem conjuntos de dados compatíveis com código aberto existentes no catálogo do BigQuery. Contém metadados da base de dados de código aberto, do esquema ou do espaço de nomes representado pelo conjunto de dados atual.

isCaseInsensitive

boolean

Opcional. VERDADEIRO se o conjunto de dados e os respetivos nomes de tabelas não forem sensíveis a maiúsculas e minúsculas, caso contrário, FALSO. Por predefinição, esta opção é FALSE, o que significa que o conjunto de dados e os respetivos nomes das tabelas são sensíveis a maiúsculas e minúsculas. Este campo não afeta as referências de rotina.

defaultCollation

string

Opcional. Define a especificação de ordenação predefinida das tabelas futuras criadas no conjunto de dados. Se for criada uma tabela neste conjunto de dados sem a ordenação predefinida ao nível da tabela, a tabela herda a ordenação predefinida do conjunto de dados, que é aplicada aos campos de string que não têm uma ordenação explícita especificada. Uma alteração a este campo afeta apenas as tabelas criadas posteriormente e não altera as tabelas existentes. Os seguintes valores são suportados:

  • 'und:ci': local indeterminado, sem distinção entre maiúsculas e minúsculas.
  • "": string vazia. Comportamento predefinido sensível a maiúsculas e minúsculas.
defaultRoundingMode

enum (RoundingMode)

Opcional. Define a especificação do modo de arredondamento predefinido de novas tabelas criadas neste conjunto de dados. Durante a criação da tabela, se este campo for especificado, a tabela neste conjunto de dados herda o modo de arredondamento predefinido do conjunto de dados. A definição do modo de arredondamento predefinido numa tabela substitui esta opção. As tabelas existentes no conjunto de dados não são afetadas. Se as colunas forem definidas durante a criação da tabela, herdam imediatamente o modo de arredondamento predefinido da tabela, salvo especificação em contrário.

maxTimeTravelHours

string (Int64Value format)

Opcional. Define o período de viagem no tempo em horas. O valor pode ser de 48 a 168 horas (2 a 7 dias). Se não for definido, o valor predefinido é de 168 horas.

tags[]
(deprecated)

object (GcpTag)

Apenas saída. Etiquetas para o conjunto de dados. Para fornecer etiquetas como entradas, use o campo resourceTags.

storageBillingModel

enum (StorageBillingModel)

Opcional. Atualiza o storage_billing_model para o conjunto de dados.

restrictions

object (RestrictionConfig)

Opcional. Apenas saída. Configuração de restrição para todas as tabelas e conjunto de dados. Se estiver definido, restringe determinados acessos no conjunto de dados e em todas as respetivas tabelas com base na configuração. Consulte o artigo Saída de dados para ver mais detalhes.

resourceTags

map (key: string, value: string)

Opcional. As etiquetas anexadas a este conjunto de dados. As chaves de etiquetas são globalmente únicas. Espera-se que a chave da etiqueta esteja no formato de espaço de nomes, por exemplo, "123456789012/environment", em que 123456789012 é o ID do recurso de organização ou projeto principal desta chave de etiqueta. O valor da etiqueta deve ser o nome abreviado, por exemplo, "Produção". Consulte as Definições de etiquetas para ver mais detalhes.

Um objeto que contém uma lista de pares "key": value. Exemplo: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

Representação JSON
{
  "datasetId": string,
  "projectId": string,
  "datasetIdAlternative": [
    string
  ],
  "projectIdAlternative": [
    string
  ]
}
Campos
datasetId

string

Obrigatório. Um ID exclusivo para este conjunto de dados, sem o nome do projeto. O ID só pode conter letras (a-z, A-Z), números (0-9) ou sublinhados (_). O comprimento máximo é de 1024 carateres.

projectId

string

Opcional. O ID do projeto que contém este conjunto de dados.

datasetIdAlternative[]

string

Este campo não deve ser usado.

projectIdAlternative[]

string

Este campo não deve ser usado.

Representação JSON
{
  "value": string
}
Campos
value

string

O valor de string.

Representação JSON
{
  "value": string
}
Campos
value

string (int64 format)

O valor int64.

Representação JSON
{
  "key": string,
  "value": string
}
Campos
key

string

value

string

Representação 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

Um ID de função do IAM que deve ser concedido ao utilizador, grupo ou domínio especificado nesta entrada de acesso. Serão aplicados os seguintes mapeamentos antigos:

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

Este campo aceita qualquer um dos formatos acima, mas devolve apenas o formato antigo. Por exemplo, se definir este campo como "roles/bigquery.dataOwner", é devolvido como "OWNER".

userByEmail

string

[Escolha uma] Um endereço de email de um utilizador ao qual conceder acesso. Por exemplo: fred@example.com. Mapeia para o membro da política de IAM "user:EMAIL" ou "serviceAccount:EMAIL".

groupByEmail

string

[Escolha uma] Um endereço de email de um grupo Google para conceder acesso. Mapeia para o membro da política IAM "group:GROUP".

domain

string

[Escolha uma] Um domínio ao qual conceder acesso. Todos os utilizadores com sessão iniciada no domínio especificado recebem o acesso especificado. Exemplo: "example.com". Mapeia para o membro da política IAM "domain:DOMAIN".

specialGroup

string

[Escolha uma] Um grupo especial ao qual conceder acesso. Os valores possíveis incluem:

  • projectOwners: proprietários do projeto envolvente.
  • projectReaders: leitores do projeto envolvente.
  • projectWriters: escritores do projeto envolvente.
  • allAuthenticatedUsers: todos os utilizadores autenticados do BigQuery.

Mapeia para membros do IAM com nomes semelhantes.

iamMember

string

[Escolha uma] Outro tipo de membro que aparece na política de IAM, mas não é um utilizador, um grupo, um domínio nem um grupo especial.

view

object (TableReference)

[Escolha uma] Uma vista de um conjunto de dados diferente ao qual conceder acesso. As consultas executadas nessa vista têm acesso de leitura a vistas/tabelas/rotinas neste conjunto de dados. O campo de função não é obrigatório quando este campo está definido. Se essa visualização de propriedade for atualizada por qualquer utilizador, o acesso à visualização de propriedade tem de ser concedido novamente através de uma operação de atualização.

routine

object (RoutineReference)

[Escolha uma] Uma rotina de um conjunto de dados diferente ao qual conceder acesso. As consultas executadas em relação a essa rotina têm acesso de leitura a visualizações/tabelas/rotinas neste conjunto de dados. Por agora, apenas é suportado o UDF. O campo de função não é obrigatório quando este campo está definido. Se essa rotina for atualizada por qualquer utilizador, o acesso à rotina tem de ser concedido novamente através de uma operação de atualização.

dataset

object (DatasetAccessEntry)

[Escolha uma] Uma concessão que autoriza todos os recursos de um tipo específico num conjunto de dados específico a acederem a este conjunto de dados. Por agora, apenas são suportadas visualizações. O campo de função não é obrigatório quando este campo está definido. Se esse conjunto de dados for eliminado e recriado, o respetivo acesso tem de ser concedido novamente através de uma operação de atualização.

condition

object (google.type.Expr)

Opcional. Condição para a associação. Se a expressão CEL neste campo for verdadeira, esta associação de acesso é considerada

Representação JSON
{
  "projectId": string,
  "datasetId": string,
  "tableId": string,
  "projectIdAlternative": [
    string
  ],
  "datasetIdAlternative": [
    string
  ],
  "tableIdAlternative": [
    string
  ]
}
Campos
projectId

string

Obrigatório. O ID do projeto que contém esta tabela.

datasetId

string

Obrigatório. O ID do conjunto de dados que contém esta tabela.

tableId

string

Obrigatório. O ID da tabela. O ID pode conter carateres Unicode nas categorias L (letra), M (marca), N (número), Pc (conetor, incluindo sublinhado), Pd (traço) e Zs (espaço). Para mais informações, consulte Categoria geral. O comprimento máximo é de 1024 carateres. Determinadas operações permitem adicionar um sufixo ao ID da tabela com um decorador de partições, como sample_table$20190123.

projectIdAlternative[]

string

Este campo não deve ser usado.

datasetIdAlternative[]

string

Este campo não deve ser usado.

tableIdAlternative[]

string

Este campo não deve ser usado.

Representação JSON
{
  "projectId": string,
  "datasetId": string,
  "routineId": string
}
Campos
projectId

string

Obrigatório. O ID do projeto que contém esta rotina.

datasetId

string

Obrigatório. O ID do conjunto de dados que contém esta rotina.

routineId

string

Obrigatório. O ID da rotina. O ID só pode conter letras (a-z, A-Z), números (0-9) ou sublinhados (_). O comprimento máximo é de 256 carateres.

Representação JSON
{
  "dataset": {
    object (DatasetReference)
  },
  "targetTypes": [
    enum (TargetType)
  ]
}
Campos
dataset

object (DatasetReference)

O conjunto de dados ao qual esta entrada se aplica

targetTypes[]

enum (TargetType)

A que recursos no conjunto de dados se aplica esta entrada. Atualmente, só são suportadas visualizações, mas podem ser adicionados tipos de alvos adicionais no futuro.

Representação JSON
{
  "expression": string,
  "title": string,
  "description": string,
  "location": string
}
Campos
expression

string

Representação textual de uma expressão na sintaxe da linguagem de expressão comum.

title

string

Opcional. Título da expressão, ou seja, uma string curta que descreve a respetiva finalidade. Isto pode ser usado, por exemplo, em IUs que permitem introduzir a expressão.

description

string

Opcional. Descrição da expressão. Este é um texto mais longo que descreve a expressão, por exemplo, quando o cursor passa sobre a mesma numa IU.

location

string

Opcional. String que indica a localização da expressão para a comunicação de erros, por exemplo, um nome de ficheiro e uma posição no ficheiro.

Representação JSON
{
  "kmsKeyName": string
}
Campos
kmsKeyName

string

Opcional. Descreve a chave de encriptação do Cloud KMS que vai ser usada para proteger a tabela do BigQuery de destino. A conta de serviço do BigQuery associada ao seu projeto requer acesso a esta chave de encriptação.

Representação JSON
{
  "value": boolean
}
Campos
value

boolean

O valor bool.

Representação JSON
{
  "sourceDataset": {
    object (DatasetReference)
  }
}
Campos
sourceDataset

object (DatasetReference)

A referência do conjunto de dados de origem contém números de projetos e não IDs de projetos.

Representação JSON
{
  "linkState": enum (LinkState)
}
Campos
linkState

enum (LinkState)

Apenas saída. Especifica se o conjunto de dados associado está atualmente num estado associado ou não.

Representação JSON
{
  "externalSource": string,
  "connection": string
}
Campos
externalSource

string

Obrigatório. Origem externa que suporta este conjunto de dados.

connection

string

Obrigatório. O ID da associação usado para aceder a external_source.

Formato: projects/{project_id}/locations/{location_id}/connections/{connection_id}

Representação JSON
{
  "parameters": {
    string: string,
    ...
  },
  "defaultStorageLocationUri": string
}
Campos
parameters

map (key: string, value: string)

Opcional. Um mapa de pares de chave-valor que definem os parâmetros e as propriedades do esquema de código aberto. Tamanho máximo de 2 MiB.

Um objeto que contém uma lista de pares "key": value. Exemplo: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

defaultStorageLocationUri

string

Opcional. O URI da localização de armazenamento de todas as tabelas no conjunto de dados. Equivalente ao locationUri da base de dados do metastore do Hive. Comprimento máximo de 1024 carateres.

Representação JSON
{
  "key": string,
  "value": string
}
Campos
key

string

value

string

Representação JSON
{
  "tagKey": string,
  "tagValue": string
}
Campos
tagKey

string

Obrigatório. O nome agradável com espaço de nomes da chave de etiqueta, por exemplo, "12345/environment", em que 12345 é o ID da organização.

tagValue

string

Obrigatório. O nome abreviado amigável do valor da etiqueta, por exemplo, "produção".

Representação JSON
{
  "type": enum (RestrictionType)
}
Campos
type

enum (RestrictionType)

Apenas saída. Especifica o tipo de restrição de conjunto de dados/tabela.

Representação JSON
{
  "key": string,
  "value": string
}
Campos
key

string

value

string

Anotações de ferramentas

Destructive Hint: ❌ | Idempotent Hint: ✅ | Read Only Hint: ✅ | Open World Hint: ❌