MCP Tools Reference: bigquery.googleapis.com

Ferramenta: get_dataset_info

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

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

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

Solicitação de um conjunto de dados.

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

string

Obrigatório. ID do projeto da solicitação de conjunto de dados.

datasetId

string

Obrigatório. ID do conjunto de dados da solicitação.

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. Ao criar um novo conjunto de dados, deixe este campo em branco e especifique o campo datasetId.

selfLink

string

Apenas saída. Um URL que pode ser usado para acessar o recurso novamente. Você pode usar esse URL em solicitações 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 do conjunto de dados.

description

string

Opcional. Uma descrição fácil de usar do conjunto de dados.

defaultTableExpirationMs

string (Int64Value format)

Opcional. A vida útil padrão de todas as tabelas no conjunto de dados, em milissegundos. O valor mínimo de vida útil é de 3.600.000 milissegundos (uma hora). Para limpar uma validade padrão atual com uma solicitação PATCH, defina como 0. Depois que essa propriedade é definida, todas as tabelas recém-criadas no conjunto de dados têm uma propriedade "expirationTime" definida como o tempo de criação mais o valor nessa propriedade. A mudança do valor afeta apenas as novas tabelas, não as atuais. Quando o expirationTime de uma determinada tabela é atingido, ela é excluída automaticamente. Se o expirationTime de uma tabela for modificado ou removido antes da expiração, ou se você fornecer um expirationTime explícito ao criar uma tabela, esse valor terá precedência sobre o tempo de expiração padrão indicado por essa propriedade.

defaultPartitionExpirationMs

string (Int64Value format)

A validade padrão da partição, expressa em milissegundos.

Quando novas tabelas particionadas por tempo são criadas em um conjunto de dados em que essa propriedade está definida, a tabela herda esse valor, propagado como a propriedade TimePartitioning.expirationMs na nova tabela. Se você definir TimePartitioning.expirationMs explicitamente ao criar uma tabela, o defaultPartitionExpirationMs do conjunto de dados que a contém será ignorado.

Ao criar uma tabela particionada, se defaultPartitionExpirationMs estiver definido, o valor defaultTableExpirationMs será ignorado e a tabela não vai herdar um prazo de validade.

labels

map (key: string, value: string)

Os rótulos associados a este conjunto de dados. Você pode usá-los para organizar e agrupar seus conjuntos de dados. Você pode definir essa propriedade ao inserir ou atualizar um conjunto de dados. Consulte Como criar e atualizar rótulos de conjuntos de dados para mais informações.

Um objeto com 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. Você pode definir essa propriedade ao inserir ou atualizar um conjunto de dados para controlar quem tem permissão para acessar os dados. Se não for especificado no momento da criação do conjunto de dados, o BigQuery adicionará o acesso padrão para as seguintes entidades: access.specialGroup: projectReaders; access.role: READER; access.specialGroup: projectWriters; access.role: WRITER; access.specialGroup: projectOwners; access.role: OWNER; access.userByEmail: [e-mail do criador do conjunto de dados]; access.role: OWNER. Se você corrigir um conjunto de dados, esse campo será substituído pelo campo de acesso do conjunto corrigido. Para adicionar entidades, forneça toda a matriz de acesso atual, além das novas entidades que você quer adicionar.

creationTime

string (int64 format)

Apenas saída. O momento em que este conjunto de dados foi criado, em milissegundos desde o início.

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 em que o conjunto de dados deve residir. Acesse https://cloud.google.com/bigquery/docs/locations para ver os locais compatíveis.

defaultEncryptionConfiguration

object (EncryptionConfiguration)

A chave de criptografia padrão para todas as tabelas no conjunto de dados. Depois que essa propriedade é definida, a chave de criptografia de todas as tabelas recém-criadas no conjunto de dados é definida como esse valor, a menos que a solicitação ou consulta de criação de tabela substitua explicitamente a chave.

satisfiesPzs

boolean

Apenas saída. Reservado para uso futuro.

satisfiesPzi

boolean

Apenas saída. Reservado para uso futuro.

type

string

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

  • DEFAULT: acessível apenas pelo proprietário e por contas autorizadas.
  • PÚBLICO: acessível a todos.
  • LINKED: conjunto de dados vinculado.
  • EXTERNAL: conjunto de dados com definição em um catálogo de metadados externo.
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, ele não é definido. Não é possível atualizar esse campo depois que ele é definido. Qualquer tentativa de atualizar esse campo usando as operações de 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 somente 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 no catálogo do BigQuery. Contém metadados do banco de dados, esquema ou namespace de código aberto representado pelo conjunto de dados atual.

isCaseInsensitive

boolean

Opcional. TRUE se o conjunto de dados e os nomes da tabela dele não diferenciam maiúsculas de minúsculas. Caso contrário, FALSE. Por padrão, é FALSE, o que significa que o conjunto de dados e os nomes da tabela dele diferenciam maiúsculas de minúsculas. Esse campo não afeta as referências de rotina.

defaultCollation

string

Opcional. Define a especificação de ordenação padrão das tabelas futuras criadas no conjunto de dados. Se uma tabela for criada nesse conjunto de dados sem uma ordenação padrão no nível da tabela, ela vai herdar a ordenação padrão do conjunto de dados, que é aplicada aos campos de string sem ordenação com linguagem explícita especificada. Uma mudança nesse campo afeta apenas as tabelas criadas depois e não altera as tabelas atuais. Os valores a seguir são compatíveis:

  • 'und:ci': localidade indeterminada, sem diferenciação de maiúsculas e minúsculas.
  • '': string vazia. O padrão é diferenciar maiúsculas de minúsculas.
defaultRoundingMode

enum (RoundingMode)

Opcional. Define a especificação do modo de arredondamento padrão das novas tabelas criadas neste conjunto de dados. Durante a criação da tabela, se esse campo for especificado, a tabela dentro desse conjunto de dados vai herdar o modo de arredondamento padrão do conjunto. Definir o modo de arredondamento padrão em uma tabela substitui essa opção. As tabelas atuais no conjunto de dados não são afetadas. Se as colunas forem definidas durante a criação da tabela, elas vão herdar imediatamente o modo de arredondamento padrão da tabela, a menos que seja especificado de outra forma.

maxTimeTravelHours

string (Int64Value format)

Opcional. Define a janela de viagem no tempo em horas. O valor pode ser de 48 a 168 horas (2 a 7 dias). O valor padrão é de 168 horas se não for definido.

tags[]
(deprecated)

object (GcpTag)

Apenas saída. Tags do conjunto de dados. Para fornecer tags como entradas, use o campo resourceTags.

storageBillingModel

enum (StorageBillingModel)

Opcional. Atualiza o "storage_billing_model" do conjunto de dados.

restrictions

object (RestrictionConfig)

Opcional. Apenas saída. Configuração de restrição para todas as tabelas e o conjunto de dados. Se definido, restringe determinados acessos ao conjunto de dados e a todas as tabelas dele com base na configuração. Consulte Saída de dados para mais detalhes.

resourceTags

map (key: string, value: string)

Opcional. As tags anexadas a este conjunto de dados. As chaves de tag são exclusivas em todo o mundo. A chave de tag precisa estar no formato com namespace, por exemplo, "123456789012/environment", em que 123456789012 é o ID da organização ou do recurso de projeto pai dessa chave de tag. O valor da tag precisa ser o nome abreviado, por exemplo, "Production". Consulte Definições de tags para mais detalhes.

Um objeto com 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 deste conjunto de dados, sem o nome do projeto. O ID precisa conter apenas letras (a-z, A-Z), números (0-9) ou sublinhados (_). O comprimento máximo é de 1.024 caracteres.

projectId

string

Opcional. O ID do projeto que contém esse 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 da 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 usuário, grupo ou domínio especificado nesta entrada de acesso. Os seguintes mapeamentos legados serão aplicados:

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

Esse campo aceita qualquer um dos formatos acima, mas retorna apenas o formato legado. Por exemplo, se você definir esse campo como "roles/bigquery.dataOwner", ele será retornado como "OWNER".

userByEmail

string

[Escolha uma opção] Um endereço de e-mail de um usuário para conceder acesso. Por exemplo: fred@example.com. Mapeia para o membro da política do IAM "user:EMAIL" ou "serviceAccount:EMAIL".

groupByEmail

string

[Escolha uma opção] Um endereço de e-mail de um grupo do Google para conceder acesso. Mapeia o membro da política do IAM "group:GROUP".

domain

string

[Escolha um] Um domínio ao qual o acesso é concedido. Qualquer usuário conectado ao domínio especificado receberá o acesso. Exemplo: "example.com". Corresponde ao membro da política do IAM "domain:DOMAIN".

specialGroup

string

[Escolha uma opção] Um grupo especial para conceder acesso. Os possíveis valores incluem:

  • projectOwners: proprietários do projeto de inclusão.
  • projectReaders: leitores do projeto incluído.
  • projectWriters: gravadores do projeto incluído.
  • allAuthenticatedUsers: todos os usuários autenticados do BigQuery.

Mapeia para membros do IAM com nomes semelhantes.

iamMember

string

[Escolha uma] Algum outro tipo de membro que aparece na política do IAM, mas não é um usuário, grupo, domínio ou grupo especial.

view

object (TableReference)

[Escolha uma] Uma visualização de um conjunto de dados diferente para conceder acesso. As consultas executadas nessa visualização terão acesso de leitura a visualizações/tabelas/rotinas no conjunto de dados. O campo "função" não é obrigatório quando este campo é definido. Se essa visualização for atualizada por qualquer usuário, o acesso a ela precisará ser concedido novamente por uma operação de atualização.

routine

object (RoutineReference)

[Escolha uma] Uma rotina de um conjunto de dados diferente para conceder acesso. As consultas executadas nessa rotina terão acesso de leitura a visualizações/tabelas/rotinas nesse conjunto de dados. No momento, apenas UDF é compatível. O campo "função" não é obrigatório quando este campo é definido. Se essa rotina for atualizada por qualquer usuário, o acesso a ela precisará ser concedido novamente por uma operação de atualização.

dataset

object (DatasetAccessEntry)

[Escolha uma] Um benefício que autoriza todos os recursos de um tipo específico em um conjunto de dados específico a acessar esse conjunto. No momento, apenas visualizações são compatíveis. O campo "função" não é obrigatório quando este campo é definido. Se esse conjunto de dados for excluído e recriado, o acesso precisará ser concedido novamente por uma operação de atualização.

condition

object (google.type.Expr)

Opcional. Condição para a vinculação. Se a expressão CEL neste campo for verdadeira, essa vinculação de acesso será 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 a tabela.

datasetId

string

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

tableId

string

Obrigatório. O ID da tabela. O ID pode conter caracteres Unicode nas categorias L (letra), M (marca), N (número), Pc (conector, incluindo sublinhado), Pd (travessão) e Zs (espaço). Para mais informações, consulte Categoria geral. O comprimento máximo é de 1.024 caracteres. Algumas operações permitem adicionar um sufixo ao ID da tabela com um decorador de partição, 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 essa rotina.

datasetId

string

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

routineId

string

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

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

object (DatasetReference)

O conjunto de dados a que esta entrada se aplica

targetTypes[]

enum (TargetType)

A quais recursos no conjunto de dados essa entrada se aplica. No momento, apenas visualizações são aceitas, mas outros tipos de destino podem ser adicionados 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 Common Expression Language.

title

string

Opcional. Título da expressão, ou seja, uma string curta que descreve sua finalidade. Isso pode ser usado, por exemplo, em IUs que permitam inserir 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 é passado sobre ela em uma IU.

location

string

Opcional. String que indica o local da expressão para o relatório de erros, por exemplo, um nome de arquivo e uma posição no arquivo.

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

string

Opcional. Descreve a chave de criptografia do Cloud KMS que será usada para proteger a tabela de destino do BigQuery. A conta de serviço do BigQuery associada ao seu projeto precisa de acesso a essa chave de criptografia.

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

boolean

O valor booleano.

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

object (DatasetReference)

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

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

enum (LinkState)

Apenas saída. Especifica se o conjunto de dados vinculado está em um estado vinculado ou não.

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

string

Obrigatório. Fonte externa que apoia este conjunto de dados.

connection

string

Obrigatório. O ID da conexão usado para acessar o 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 com uma lista de pares "key": value. Exemplo: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

defaultStorageLocationUri

string

Opcional. O URI do local de armazenamento de todas as tabelas no conjunto de dados. Equivalente ao database.locationUri do metastore do Hive. Tamanho máximo de 1.024 caracteres.

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 amigável com namespace da chave de tag, por exemplo, "12345/environment", em que 12345 é o ID da organização.

tagValue

string

Obrigatório. O nome abreviado amigável do valor da tag, por exemplo, "production".

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

Dica destrutiva: ❌ | Dica idempotente: ✅ | Dica somente leitura: ✅ | Dica de mundo aberto: ❌