MCP Tools Reference: bigquery.googleapis.com

Outil : get_dataset_info

Obtenez des informations sur les métadonnées d'un ensemble de données BigQuery.

L'exemple suivant montre comment utiliser curl pour appeler l'outil MCP get_dataset_info.

Requête 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
}'
                

Schéma d'entrée

Demande d'ensemble de données.

Représentation JSON
{
  "projectId": string,
  "datasetId": string
}
Champs
projectId

string

Obligatoire. ID du projet de la demande d'ensemble de données.

datasetId

string

Obligatoire. ID de l'ensemble de données de la demande.

Schéma de sortie

Représente un ensemble de données BigQuery.

Représentation 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,
    ...
  }
}
Champs
kind

string

Uniquement en sortie. Type de la ressource

etag

string

Uniquement en sortie. Hachage de la ressource.

id

string

Uniquement en sortie. Nom unique complet de l'ensemble de données au format projectId:datasetId. Le nom de l'ensemble de données sans le nom du projet est indiqué dans le champ "datasetId". Lorsque vous créez un ensemble de données, laissez ce champ vide et spécifiez plutôt le champ "datasetId".

selfLink

string

Uniquement en sortie. URL permettant d'accéder à nouveau à la ressource. Vous pouvez utiliser cette URL dans les requêtes Get ou Update envoyées à la ressource.

datasetReference

object (DatasetReference)

Obligatoire. Référence qui identifie l'ensemble de données.

friendlyName

string

Facultatif. Nom descriptif de l'ensemble de données.

description

string

Facultatif. Description conviviale de l'ensemble de données.

defaultTableExpirationMs

string (Int64Value format)

Facultatif. Durée de vie par défaut de toutes les tables de l'ensemble de données, en millisecondes. La durée de vie minimale est de 3 600 000 millisecondes (une heure). Pour effacer un délai d'expiration par défaut existant avec une requête PATCH, définissez-le sur 0. Une fois cette propriété définie, toutes les tables nouvellement créées dans l'ensemble de données auront une propriété "expirationTime" définie sur l'heure de création plus la valeur de cette propriété. La modification de la valeur n'affectera que les nouvelles tables, et non celles existantes. Lorsqu'une table arrive à expiration, elle est automatiquement supprimée. Si le délai d'expiration d'une table est modifié ou supprimé avant son expiration, ou si vous spécifiez un délai d'expiration explicite lors de la création d'une table, cette valeur est prioritaire sur le délai d'expiration par défaut indiqué par cette propriété.

defaultPartitionExpirationMs

string (Int64Value format)

Délai d'expiration par défaut de la partition, exprimé en millisecondes.

Lorsque de nouvelles tables partitionnées par date sont créées dans un ensemble de données où cette propriété est définie, la table hérite de cette valeur, qui est propagée en tant que propriété TimePartitioning.expirationMs sur la nouvelle table. Si vous définissez explicitement TimePartitioning.expirationMs lorsque vous créez une table, le defaultPartitionExpirationMs de l'ensemble de données contenant est ignoré.

Lorsque vous créez une table partitionnée, si defaultPartitionExpirationMs est défini, la valeur defaultTableExpirationMs est ignorée et la table n'hérite pas de délai d'expiration.

labels

map (key: string, value: string)

Libellés associés à cet ensemble de données. Vous pouvez les utiliser pour organiser et regrouper vos ensembles de données. Vous pouvez définir cette propriété lorsque vous insérez ou mettez à jour un ensemble de données. Pour en savoir plus, consultez Créer et mettre à jour des libellés d'ensembles de données.

Objet contenant une liste de paires "key": value. Exemple : { "name": "wrench", "mass": "1.3kg", "count": "3" }.

access[]

object (Access)

Facultatif. Tableau d'objets qui définissent l'accès à l'ensemble de données pour une ou plusieurs entités. Vous pouvez définir cette propriété lorsque vous insérez ou mettez à jour un ensemble de données afin de contrôler qui est autorisé à accéder aux données. Si aucune valeur n'est spécifiée lors de la création de l'ensemble de données, BigQuery ajoute un accès par défaut à l'ensemble de données pour les entités suivantes : access.specialGroup: projectReaders; access.role: READER; access.specialGroup: projectWriters; access.role: WRITER; access.specialGroup: projectOwners; access.role: OWNER; access.userByEmail: [adresse e-mail du créateur de l'ensemble de données]; access.role: OWNER; Si vous modifiez un ensemble de données, ce champ est remplacé par le champ d'accès de l'ensemble de données modifié. Pour ajouter des entités, vous devez fournir l'intégralité du tableau d'accès existant, en plus des nouvelles entités que vous souhaitez ajouter.

creationTime

string (int64 format)

Uniquement en sortie. Heure de création de cet ensemble de données, en millisecondes depuis l'epoch.

lastModifiedTime

string (int64 format)

Uniquement en sortie. Date de la dernière modification de cet ensemble de données, en millisecondes depuis l'époque.

location

string

Emplacement géographique où l'ensemble de données doit résider. Consultez https://cloud.google.com/bigquery/docs/locations pour connaître les emplacements compatibles.

defaultEncryptionConfiguration

object (EncryptionConfiguration)

Clé de chiffrement par défaut pour toutes les tables de l'ensemble de données. Une fois cette propriété définie, la clé de chiffrement de toutes les tables nouvellement créées dans l'ensemble de données est définie sur cette valeur, sauf si la requête ou la demande de création de table remplace explicitement la clé.

satisfiesPzs

boolean

Uniquement en sortie. Réservé pour une utilisation ultérieure.

satisfiesPzi

boolean

Uniquement en sortie. Réservé pour une utilisation ultérieure.

type

string

Uniquement en sortie. Identique à type dans ListFormatDataset. Type de l'ensemble de données (l'une des valeurs suivantes) :

  • PAR DÉFAUT : accessible uniquement par le propriétaire et les comptes autorisés.
  • PUBLIC : accessible à tous.
  • ASSOCIÉ : ensemble de données associé
  • EXTERNAL : ensemble de données avec une définition dans un catalogue de métadonnées externe.
linkedDatasetSource

object (LinkedDatasetSource)

Facultatif. Référence à l'ensemble de données source lorsque l'ensemble de données est de type "LINKED" (LIÉ). Pour tous les autres types de jeux de données, il n'est pas défini. Une fois ce champ défini, il ne peut plus être modifié. Toute tentative de mise à jour de ce champ à l'aide des opérations d'API Update et Patch sera ignorée.

linkedDatasetMetadata

object (LinkedDatasetMetadata)

Uniquement en sortie. Métadonnées sur LinkedDataset. Renseigné lorsque le type d'ensemble de données est "LINKED" (ASSOCIÉ).

externalDatasetReference

object (ExternalDatasetReference)

Facultatif. Référence à un ensemble de données externe en lecture seule défini dans des catalogues de données en dehors de BigQuery. Rempli lorsque le type d'ensemble de données est EXTERNAL.

externalCatalogDatasetOptions

object (ExternalCatalogDatasetOptions)

Facultatif. Options définissant les ensembles de données compatibles avec l'open source qui se trouvent dans le catalogue BigQuery. Contient les métadonnées de la base de données, du schéma ou de l'espace de noms Open Source représentés par l'ensemble de données actuel.

isCaseInsensitive

boolean

Facultatif. TRUE si l'ensemble de données et le nom de ses tables ne sont pas sensibles à la casse, sinon FALSE. Par défaut, la valeur est FALSE, ce qui signifie que l'ensemble de données et le nom de ses tables sont sensibles à la casse. Ce champ n'a aucune incidence sur les références de routine.

defaultCollation

string

Facultatif. Définit la spécification de classement par défaut des futures tables créées dans l'ensemble de données. Si une table est créée dans cet ensemble de données sans classement par défaut au niveau de la table, elle hérite du classement par défaut de l'ensemble de données, qui est appliqué aux champs de chaîne pour lesquels aucun classement explicite n'est spécifié. Toute modification apportée à ce champ n'affecte que les tables créées par la suite et n'altère pas les tables existantes. Les valeurs suivantes sont acceptées :

  • 'und:ci' : paramètres régionaux non déterminés, non sensibles à la casse.
  • '' : chaîne vide. Comportement par défaut sensible à la casse.
defaultRoundingMode

enum (RoundingMode)

Facultatif. Définit le mode d'arrondi par défaut des nouvelles tables créées dans cet ensemble de données. Si ce champ est spécifié lors de la création d'une table, la table de cet ensemble de données hérite du mode d'arrondi par défaut de l'ensemble de données. Cette option est ignorée si vous définissez le mode d'arrondi par défaut sur une table. Les tables existantes dans l'ensemble de données ne sont pas affectées. Si des colonnes sont définies lors de la création de la table, elles hériteront immédiatement du mode d'arrondi par défaut de la table, sauf indication contraire.

maxTimeTravelHours

string (Int64Value format)

Facultatif. Définit la fenêtre temporelle en heures. La valeur peut être comprise entre 48 et 168 heures (2 à 7 jours). Si cette option n'est pas définie, la valeur par défaut est de 168 heures.

tags[]
(deprecated)

object (GcpTag)

Uniquement en sortie. Tags de l'ensemble de données. Pour fournir des tags en tant qu'entrées, utilisez le champ resourceTags.

storageBillingModel

enum (StorageBillingModel)

Facultatif. Met à jour storage_billing_model pour l'ensemble de données.

restrictions

object (RestrictionConfig)

Facultatif. Uniquement en sortie. Configuration des restrictions pour toutes les tables et l'ensemble de données. Si cette option est définie, elle limite certains accès à l'ensemble de données et à toutes ses tables en fonction de la configuration. Pour en savoir plus, consultez Sortie des données.

resourceTags

map (key: string, value: string)

Facultatif. Les tags associés à cet ensemble de données. Les clés de tag sont uniques. La clé de tag doit être au format avec espace de noms, par exemple "123456789012/environment", où 123456789012 correspond à l'ID de la ressource parente de l'organisation ou du projet pour cette clé de tag. La valeur du tag doit être le nom court, par exemple "Production". Pour en savoir plus, consultez Définitions des tags.

Objet contenant une liste de paires "key": value. Exemple : { "name": "wrench", "mass": "1.3kg", "count": "3" }.

Représentation JSON
{
  "datasetId": string,
  "projectId": string,
  "datasetIdAlternative": [
    string
  ],
  "projectIdAlternative": [
    string
  ]
}
Champs
datasetId

string

Obligatoire. ID unique de cet ensemble de données, sans le nom du projet. L'ID ne doit contenir que des lettres (a-z, A-Z), des chiffres (0-9) ou des traits de soulignement (_). La longueur ne doit pas dépasser 1 024 caractères.

projectId

string

Facultatif. ID du projet contenant cet ensemble de données.

datasetIdAlternative[]

string

Ce champ ne doit pas être utilisé.

projectIdAlternative[]

string

Ce champ ne doit pas être utilisé.

Représentation JSON
{
  "value": string
}
Champs
value

string

Valeur de la chaîne.

Représentation JSON
{
  "value": string
}
Champs
value

string (int64 format)

Valeur int64.

Représentation JSON
{
  "key": string,
  "value": string
}
Champs
key

string

value

string

Représentation 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)
  }
}
Champs
role

string

ID de rôle IAM à attribuer à l'utilisateur, au groupe ou au domaine spécifié dans cette entrée d'accès. Les anciens mappages suivants seront appliqués :

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

Ce champ accepte tous les formats ci-dessus, mais ne renvoie que l'ancien format. Par exemple, si vous définissez ce champ sur "roles/bigquery.dataOwner", il sera renvoyé sous la forme "OWNER".

userByEmail

string

[Choisissez l'une des options suivantes] Adresse e-mail d'un utilisateur auquel accorder l'accès. Par exemple : fred@example.com. Correspond au membre de la stratégie IAM "user:EMAIL" ou "serviceAccount:EMAIL".

groupByEmail

string

[Choisissez l'une des options suivantes] Adresse e-mail d'un groupe Google auquel accorder l'accès. Correspond au membre de la stratégie IAM "group:GROUP".

domain

string

[Choisissez-en un] Un domaine auquel accorder l'accès. Tous les utilisateurs connectés avec le domaine spécifié recevront l'accès indiqué. Exemple : "example.com". Mappé sur le membre de la stratégie IAM "domain:DOMAIN".

specialGroup

string

[Choisissez une option] Un groupe spécial auquel accorder l'accès. Les valeurs possibles sont les suivantes :

  • projectOwners : propriétaires du projet englobant.
  • projectReaders : lecteurs du projet englobant.
  • projectWriters : rédacteurs du projet englobant.
  • allAuthenticatedUsers : tous les utilisateurs BigQuery authentifiés.

Correspond aux membres IAM portant un nom similaire.

iamMember

string

[Choisissez l'une des options suivantes] Un autre type de membre qui apparaît dans la stratégie IAM, mais qui n'est pas un utilisateur, un groupe, un domaine ni un groupe spécial.

view

object (TableReference)

[Choisissez une option] Vue d'un autre ensemble de données auquel accorder l'accès. Les requêtes exécutées sur cette vue auront un accès en lecture aux vues, tables et routines de cet ensemble de données. Le champ "Rôle" n'est pas obligatoire lorsque ce champ est défini. Si cette vue est modifiée par un utilisateur, l'accès à la vue doit être accordé à nouveau via une opération de mise à jour.

routine

object (RoutineReference)

[Choisissez-en un] Routine d'un autre ensemble de données auquel accorder l'accès. Les requêtes exécutées sur cette routine auront un accès en lecture aux vues, tables et routines de cet ensemble de données. Seules les UDF sont acceptées pour le moment. Le champ "Rôle" n'est pas obligatoire lorsque ce champ est défini. Si une routine est modifiée par un utilisateur, l'accès à la routine doit être accordé à nouveau via une opération de mise à jour.

dataset

object (DatasetAccessEntry)

[Choisissez l'une des options suivantes] Une autorisation accordant à toutes les ressources d'un type particulier dans un ensemble de données spécifique l'accès à cet ensemble de données. Pour le moment, seules les vues sont acceptées. Le champ "Rôle" n'est pas obligatoire lorsque ce champ est défini. Si cet ensemble de données est supprimé et recréé, son accès doit être accordé à nouveau via une opération de mise à jour.

condition

object (google.type.Expr)

Condition facultative pour la liaison. Si l'expression CEL de ce champ est "true", cette liaison d'accès sera prise en compte.

Représentation JSON
{
  "projectId": string,
  "datasetId": string,
  "tableId": string,
  "projectIdAlternative": [
    string
  ],
  "datasetIdAlternative": [
    string
  ],
  "tableIdAlternative": [
    string
  ]
}
Champs
projectId

string

Obligatoire. ID du projet contenant cette table.

datasetId

string

Obligatoire. ID de l'ensemble de données contenant cette table.

tableId

string

Obligatoire. ID de la table. L'ID peut contenir des caractères Unicode des catégories L (lettre), M (marque), N (nombre), Pc (ponctuation de type connecteur, y compris trait de soulignement), Pd (ponctuation de type tiret) et Zs (espace). Pour en savoir plus, consultez Catégorie générale. La longueur ne doit pas dépasser 1 024 caractères. Certaines opérations permettent d'ajouter un décorateur de partition à l'ID de table, tel que sample_table$20190123.

projectIdAlternative[]

string

Ce champ ne doit pas être utilisé.

datasetIdAlternative[]

string

Ce champ ne doit pas être utilisé.

tableIdAlternative[]

string

Ce champ ne doit pas être utilisé.

Représentation JSON
{
  "projectId": string,
  "datasetId": string,
  "routineId": string
}
Champs
projectId

string

Obligatoire. ID du projet contenant cette routine.

datasetId

string

Obligatoire. ID de l'ensemble de données contenant cette routine.

routineId

string

Obligatoire. ID de la routine. L'ID ne doit contenir que des lettres (a-z, A-Z), des chiffres (0-9) ou des traits de soulignement (_). La longueur ne doit pas dépasser 256 caractères.

Représentation JSON
{
  "dataset": {
    object (DatasetReference)
  },
  "targetTypes": [
    enum (TargetType)
  ]
}
Champs
dataset

object (DatasetReference)

Ensemble de données auquel s'applique cette entrée

targetTypes[]

enum (TargetType)

Ressources de l'ensemble de données auxquelles s'applique cette entrée. Actuellement, seules les vues sont acceptées, mais d'autres types de cibles pourront être ajoutés à l'avenir.

Représentation JSON
{
  "expression": string,
  "title": string,
  "description": string,
  "location": string
}
Champs
expression

string

Représentation textuelle d'une expression à l'aide de la syntaxe CEL (Common Expression Language).

title

string

Facultatif. Titre de l'expression, sous forme de chaîne courte décrivant son objectif. Il peut par exemple être utilisé dans les interfaces utilisateur qui permettent de saisir l'expression.

description

string

Facultatif. Description de l'expression. Il s'agit d'un texte plus long décrivant l'expression (par exemple, lorsque l'utilisateur passe la souris sur celle-ci dans une interface utilisateur).

location

string

Facultatif. Chaîne indiquant l'emplacement de l'expression pour la création de rapports d'erreurs (par exemple, un nom de fichier et une position dans le fichier).

Représentation JSON
{
  "kmsKeyName": string
}
Champs
kmsKeyName

string

Facultatif. Décrit la clé de chiffrement Cloud KMS qui sera utilisée pour protéger la table BigQuery de destination. Le compte de service BigQuery associé à votre projet doit avoir accès à cette clé de chiffrement.

Représentation JSON
{
  "value": boolean
}
Champs
value

boolean

Valeur booléenne.

Représentation JSON
{
  "sourceDataset": {
    object (DatasetReference)
  }
}
Champs
sourceDataset

object (DatasetReference)

La référence à l'ensemble de données source contient des numéros de projet et non des ID de projet.

Représentation JSON
{
  "linkState": enum (LinkState)
}
Champs
linkState

enum (LinkState)

Uniquement en sortie. Indique si l'ensemble de données associé est actuellement associé ou non.

Représentation JSON
{
  "externalSource": string,
  "connection": string
}
Champs
externalSource

string

Obligatoire. Source externe qui soutient cet ensemble de données.

connection

string

Obligatoire. ID de connexion utilisé pour accéder à external_source.

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

Représentation JSON
{
  "parameters": {
    string: string,
    ...
  },
  "defaultStorageLocationUri": string
}
Champs
parameters

map (key: string, value: string)

Facultatif. Carte de paires clé/valeur définissant les paramètres et les propriétés du schéma Open Source. Taille maximale de 2 Mio.

Objet contenant une liste de paires "key": value. Exemple : { "name": "wrench", "mass": "1.3kg", "count": "3" }.

defaultStorageLocationUri

string

Facultatif. URI de l'emplacement de stockage de toutes les tables de l'ensemble de données. Équivaut à l'URI de l'emplacement de la base de données du métastore Hive. Longueur maximale : 1 024 caractères.

Représentation JSON
{
  "key": string,
  "value": string
}
Champs
key

string

value

string

Représentation JSON
{
  "tagKey": string,
  "tagValue": string
}
Champs
tagKey

string

Obligatoire. Nom convivial avec espace de noms de la clé de tag, par exemple "12345/environment" où 12345 est l'ID de l'organisation.

tagValue

string

Obligatoire. Nom court convivial de la valeur du tag, par exemple "production".

Représentation JSON
{
  "type": enum (RestrictionType)
}
Champs
type

enum (RestrictionType)

Uniquement en sortie. Spécifie le type de restriction de l'ensemble de données/du tableau.

Représentation JSON
{
  "key": string,
  "value": string
}
Champs
key

string

value

string

Annotations d'outils

Indication de destruction : ❌ | Indication d'idempotence : ✅ | Indication de lecture seule : ✅ | Indication de monde ouvert : ❌