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 |
Obligatoire. ID du projet de la demande d'ensemble de données. |
datasetId |
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 ( |
| Champs | |
|---|---|
kind |
Uniquement en sortie. Type de la ressource |
etag |
Uniquement en sortie. Hachage de la ressource. |
id |
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 |
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 |
Obligatoire. Référence qui identifie l'ensemble de données. |
friendlyName |
Facultatif. Nom descriptif de l'ensemble de données. |
description |
Facultatif. Description conviviale de l'ensemble de données. |
defaultTableExpirationMs |
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 |
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é Lorsque vous créez une table partitionnée, si |
labels |
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 |
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 |
Uniquement en sortie. Heure de création de cet ensemble de données, en millisecondes depuis l'epoch. |
lastModifiedTime |
Uniquement en sortie. Date de la dernière modification de cet ensemble de données, en millisecondes depuis l'époque. |
location |
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 |
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 |
Uniquement en sortie. Réservé pour une utilisation ultérieure. |
satisfiesPzi |
Uniquement en sortie. Réservé pour une utilisation ultérieure. |
type |
Uniquement en sortie. Identique à
|
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 |
Uniquement en sortie. Métadonnées sur LinkedDataset. Renseigné lorsque le type d'ensemble de données est "LINKED" (ASSOCIÉ). |
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 |
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 |
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 |
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 :
|
defaultRoundingMode |
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 |
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[] |
Uniquement en sortie. Tags de l'ensemble de données. Pour fournir des tags en tant qu'entrées, utilisez le champ |
storageBillingModel |
Facultatif. Met à jour storage_billing_model pour l'ensemble de données. |
restrictions |
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 |
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 |
| Représentation JSON |
|---|
{ "datasetId": string, "projectId": string, "datasetIdAlternative": [ string ], "projectIdAlternative": [ string ] } |
| Champs | |
|---|---|
datasetId |
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 |
Facultatif. ID du projet contenant cet ensemble de données. |
datasetIdAlternative[] |
Ce champ ne doit pas être utilisé. |
projectIdAlternative[] |
Ce champ ne doit pas être utilisé. |
| Représentation JSON |
|---|
{ "value": string } |
| Champs | |
|---|---|
value |
Valeur de la chaîne. |
| Représentation JSON |
|---|
{ "value": string } |
| Champs | |
|---|---|
value |
Valeur int64. |
| Représentation JSON |
|---|
{ "key": string, "value": string } |
| Champs | |
|---|---|
key |
|
value |
|
| Représentation JSON |
|---|
{ "role": string, "userByEmail": string, "groupByEmail": string, "domain": string, "specialGroup": string, "iamMember": string, "view": { object ( |
| Champs | |
|---|---|
role |
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 :
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 |
[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 |
[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 |
[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 |
[Choisissez une option] Un groupe spécial auquel accorder l'accès. Les valeurs possibles sont les suivantes :
Correspond aux membres IAM portant un nom similaire. |
iamMember |
[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 |
[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 |
[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 |
[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 |
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 |
Obligatoire. ID du projet contenant cette table. |
datasetId |
Obligatoire. ID de l'ensemble de données contenant cette table. |
tableId |
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 |
projectIdAlternative[] |
Ce champ ne doit pas être utilisé. |
datasetIdAlternative[] |
Ce champ ne doit pas être utilisé. |
tableIdAlternative[] |
Ce champ ne doit pas être utilisé. |
| Représentation JSON |
|---|
{ "projectId": string, "datasetId": string, "routineId": string } |
| Champs | |
|---|---|
projectId |
Obligatoire. ID du projet contenant cette routine. |
datasetId |
Obligatoire. ID de l'ensemble de données contenant cette routine. |
routineId |
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 ( |
| Champs | |
|---|---|
dataset |
Ensemble de données auquel s'applique cette entrée |
targetTypes[] |
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 |
Représentation textuelle d'une expression à l'aide de la syntaxe CEL (Common Expression Language). |
title |
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 |
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 |
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 |
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 |
Valeur booléenne. |
| Représentation JSON |
|---|
{
"sourceDataset": {
object ( |
| Champs | |
|---|---|
sourceDataset |
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 ( |
| Champs | |
|---|---|
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 |
Obligatoire. Source externe qui soutient cet ensemble de données. |
connection |
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 |
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 |
defaultStorageLocationUri |
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 |
|
value |
|
| Représentation JSON |
|---|
{ "tagKey": string, "tagValue": string } |
| Champs | |
|---|---|
tagKey |
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 |
Obligatoire. Nom court convivial de la valeur du tag, par exemple "production". |
| Représentation JSON |
|---|
{
"type": enum ( |
| Champs | |
|---|---|
type |
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 |
|
value |
|
Annotations d'outils
Indication de destruction : ❌ | Indication d'idempotence : ✅ | Indication de lecture seule : ✅ | Indication de monde ouvert : ❌