Outil : query_compilation_actions
Renvoie les actions de résultat de compilation pour un résultat de compilation Dataform donné.
La valeur du paramètre name doit être au format projects/{project_id}/locations/{location}/repositories/{repository}/compilationResults/{compilation_result}.
L'exemple de code suivant montre comment utiliser curl pour appeler l'outil MCP query_compilation_actions.
| Requête curl |
|---|
curl --location 'https://dataform.googleapis.com/mcp' \ --header 'content-type: application/json' \ --header 'accept: application/json, text/event-stream' \ --data '{ "method": "tools/call", "params": { "name": "query_compilation_actions", "arguments": { // Provide these details according to the MCP tool specification. } }, "jsonrpc": "2.0", "id": 1 }' |
Schéma d'entrée
Message de requête QueryCompilationResultActions.
QueryCompilationResultActionsRequest
| Représentation JSON |
|---|
{ "name": string, "pageSize": integer, "pageToken": string, "filter": string } |
| Champs | |
|---|---|
name |
Obligatoire. Nom du résultat de la compilation. |
pageSize |
Facultatif. Nombre maximal de résultats de compilation à renvoyer. Le serveur peut renvoyer un nombre d'éléments inférieur à celui demandé. Si aucune valeur n'est spécifiée, le serveur sélectionne une valeur par défaut appropriée. |
pageToken |
Facultatif. Jeton de page reçu d'un appel Lors de la pagination, tous les autres paramètres fournis à |
filter |
Facultatif. Filtre facultatif pour la liste renvoyée. Le filtrage n'est actuellement possible que sur le champ |
Schéma de sortie
Message de réponse QueryCompilationResultActions.
QueryCompilationResultActionsResponse
| Représentation JSON |
|---|
{
"compilationResultActions": [
{
object ( |
| Champs | |
|---|---|
compilationResultActions[] |
Liste des actions de résultat de la compilation. |
nextPageToken |
Jeton pouvant être envoyé en tant que |
CompilationResultAction
| Représentation JSON |
|---|
{ "target": { object ( |
| Champs | |
|---|---|
target |
Identifiant de cette action. Unique dans le résultat de la compilation. |
canonicalTarget |
Identifiant de l'action si le projet avait été compilé sans aucune configuration de remplacement. Unique dans le résultat de la compilation. |
filePath |
Chemin d'accès complet, y compris le nom du fichier dans lequel se trouve cette action, par rapport à la racine de l'espace de travail. |
Champ d'union compiled_object. Objet compilé. compiled_object ne peut être qu'un des éléments suivants : |
|
relation |
Relation de base de données créée/mise à jour par cette action. |
operations |
Opérations de base de données exécutées par cette action. |
assertion |
Assertion exécutée par cette action. |
declaration |
Déclaration déclarée par cette action. |
notebook |
Notebook exécuté par cette action. |
dataPreparation |
Préparation des données exécutée par cette action. |
Champ d'union
|
|
internalMetadata |
Uniquement en sortie. Toutes les informations de métadonnées utilisées en interne pour diffuser la ressource. Par exemple : codes temporels, indicateurs, champs d'état, etc. Le format de ce champ est une chaîne JSON. |
Relation
| Représentation JSON |
|---|
{ "dependencyTargets": [ { object ( |
| Champs | |
|---|---|
dependencyTargets[] |
Liste des actions dont dépend cette action. |
disabled |
Indique si cette action est désactivée (c'est-à-dire si elle ne doit pas être exécutée). |
tags[] |
Tags arbitraires définis par l'utilisateur pour cette action. |
relationDescriptor |
Descripteur de la relation et de ses colonnes. |
relationType |
Type de relation. |
selectQuery |
Requête SELECT qui renvoie les lignes que cette relation doit contenir. |
preOperations[] |
Instructions SQL à exécuter avant de créer la relation. |
postOperations[] |
Instructions SQL à exécuter après la création de la relation. |
incrementalTableConfig |
Configure les paramètres |
partitionExpression |
Expression SQL utilisée pour partitionner la relation. |
clusterExpressions[] |
Liste de colonnes ou d'expressions SQL utilisées pour mettre la table en cluster. |
partitionExpirationDays |
Définit le délai d'expiration de la partition en jours. |
requirePartitionFilter |
Spécifie si les requêtes sur cette table doivent inclure un filtre de prédicat qui filtre la colonne de partitionnement. |
additionalOptions |
Options supplémentaires qui seront fournies sous forme de paires clé/valeur dans la clause d'options d'une instruction de création de table/vue. Pour en savoir plus sur les options compatibles, consultez https://cloud.google.com/bigquery/docs/reference/standard-sql/data-definition-language. Objet contenant une liste de paires |
connection |
Facultatif. Connexion spécifiant les identifiants à utiliser pour lire et écrire dans le stockage externe, tel que Cloud Storage. La connexion peut être au format |
tableFormat |
Facultatif. Format de la table BigQuery. |
fileFormat |
Facultatif. Format de fichier de la table BigQuery. |
storageUri |
Facultatif. Préfixe de chemin complet du dossier externe dans lequel les données de la table sont stockées. L'URI doit être au format |
Cible
| Représentation JSON |
|---|
{ "database": string, "schema": string, "name": string } |
| Champs | |
|---|---|
database |
Facultatif. Base de données de l'action (ID de projet Google Cloud) . |
schema |
Facultatif. Schéma de l'action (ID de l'ensemble de données BigQuery), dans |
name |
Facultatif. Nom de l'action, dans |
RelationDescriptor
| Représentation JSON |
|---|
{
"description": string,
"columns": [
{
object ( |
| Champs | |
|---|---|
description |
Description textuelle de la relation. |
columns[] |
Liste des descriptions des colonnes de la relation. |
bigqueryLabels |
Ensemble de libellés BigQuery à appliquer à la relation. Objet contenant une liste de paires |
ColumnDescriptor
| Représentation JSON |
|---|
{ "path": [ string ], "description": string, "bigqueryPolicyTags": [ string ] } |
| Champs | |
|---|---|
path[] |
Identifiant de la colonne. Chaque entrée de |
description |
Description textuelle de la colonne. |
bigqueryPolicyTags[] |
Liste des tags avec stratégie BigQuery qui seront appliqués à la colonne. |
BigqueryLabelsEntry
| Représentation JSON |
|---|
{ "key": string, "value": string } |
| Champs | |
|---|---|
key |
|
value |
|
IncrementalTableConfig
| Représentation JSON |
|---|
{ "incrementalSelectQuery": string, "refreshDisabled": boolean, "uniqueKeyParts": [ string ], "updatePartitionFilter": string, "incrementalPreOperations": [ string ], "incrementalPostOperations": [ string ] } |
| Champs | |
|---|---|
incrementalSelectQuery |
Requête SELECT qui renvoie les lignes à insérer dans la relation si elle existe déjà et n'est pas actualisée. |
refreshDisabled |
Indique si cette table doit être protégée contre l'actualisation. |
uniqueKeyParts[] |
Ensemble de colonnes ou d'expressions SQL utilisées pour définir l'unicité des lignes. Si des doublons sont détectés (selon la définition de |
updatePartitionFilter |
Expression conditionnelle SQL utilisée pour limiter l'ensemble des lignes existantes prises en compte pour une opération de fusion (pour en savoir plus, consultez |
incrementalPreOperations[] |
Instructions SQL à exécuter avant d'insérer de nouvelles lignes dans la relation. |
incrementalPostOperations[] |
Instructions SQL à exécuter après l'insertion de nouvelles lignes dans la relation. |
AdditionalOptionsEntry
| Représentation JSON |
|---|
{ "key": string, "value": string } |
| Champs | |
|---|---|
key |
|
value |
|
Opérations
| Représentation JSON |
|---|
{ "dependencyTargets": [ { object ( |
| Champs | |
|---|---|
dependencyTargets[] |
Liste des actions dont dépend cette action. |
disabled |
Indique si cette action est désactivée (c'est-à-dire si elle ne doit pas être exécutée). |
tags[] |
Tags arbitraires définis par l'utilisateur pour cette action. |
relationDescriptor |
Descripteur pour toute relation de sortie et ses colonnes. Défini uniquement si |
queries[] |
Liste d'instructions SQL arbitraires qui seront exécutées sans modification. |
hasOutput |
Indique si ces opérations produisent une relation de sortie. |
Assertion
| Représentation JSON |
|---|
{ "dependencyTargets": [ { object ( |
| Champs | |
|---|---|
dependencyTargets[] |
Liste des actions dont dépend cette action. |
parentAction |
Action parente de cette assertion. Ne définissez cette valeur que si cette assertion a été générée automatiquement. |
disabled |
Indique si cette action est désactivée (c'est-à-dire si elle ne doit pas être exécutée). |
tags[] |
Tags arbitraires définis par l'utilisateur pour cette action. |
selectQuery |
Requête SELECT qui doit renvoyer zéro ligne pour que cette assertion réussisse. |
relationDescriptor |
Descripteur de la vue générée automatiquement de l'assertion et de ses colonnes. |
Déclaration
| Représentation JSON |
|---|
{
"relationDescriptor": {
object ( |
| Champs | |
|---|---|
relationDescriptor |
Descripteur de la relation et de ses colonnes. Utilisé uniquement comme documentation. Autrement dit, les valeurs indiquées ici n'entraîneront aucune modification des métadonnées de la relation. |
Notebook
| Représentation JSON |
|---|
{
"dependencyTargets": [
{
object ( |
| Champs | |
|---|---|
dependencyTargets[] |
Liste des actions dont dépend cette action. |
disabled |
Indique si cette action est désactivée (c'est-à-dire si elle ne doit pas être exécutée). |
contents |
Contenu du notebook. |
tags[] |
Tags arbitraires définis par l'utilisateur pour cette action. |
DataPreparation
| Représentation JSON |
|---|
{ "dependencyTargets": [ { object ( |
| Champs | |
|---|---|
dependencyTargets[] |
Liste des actions dont dépend cette action. |
disabled |
Indique si cette action est désactivée (c'est-à-dire si elle ne doit pas être exécutée). |
tags[] |
Tags arbitraires définis par l'utilisateur pour cette action. |
Champ d'union definition. Définition de la préparation des données. definition ne peut être qu'un des éléments suivants : |
|
contentsYaml |
Définition de la préparation des données, stockée sous forme de chaîne YAML. |
contentsSql |
Définition SQL pour une préparation des données. Contient une requête SQL et des informations contextuelles supplémentaires. |
SqlDefinition
| Représentation JSON |
|---|
{ "query": string, "errorTable": { object ( |
| Champs | |
|---|---|
query |
Requête SQL représentant les étapes de préparation des données. Formatée en tant qu'instruction de requête Pipe SQL. |
errorTable |
Configuration de la table d'erreurs, |
load |
Charger la configuration. |
ErrorTable
| Représentation JSON |
|---|
{
"target": {
object ( |
| Champs | |
|---|---|
target |
Cible de la table d'erreurs. |
retentionDays |
Délai d'expiration de la partition de table d'erreur en jours. Seules les valeurs positives sont autorisées. |
LoadConfig
| Représentation JSON |
|---|
{ // Union field |
| Champs | |
|---|---|
Champ d'union mode. Le mode de chargement mode ne peut être que l'un des suivants : |
|
replace |
Remplacer la table de destination |
append |
Ajouter à la table de destination |
maximum |
Insérer des enregistrements dont la valeur dépasse la valeur maximale précédente pour une colonne de la table de destination |
unique |
Insérer des enregistrements lorsque la valeur d'une colonne n'est pas déjà présente dans la table de destination |
IncrementalLoadMode
| Représentation JSON |
|---|
{ "column": string } |
| Champs | |
|---|---|
column |
Nom de la colonne pour les modes de chargement incrémentiel |
RelationType
Indique le type de relation.
| Enums | |
|---|---|
RELATION_TYPE_UNSPECIFIED |
Valeur par défaut. Cette valeur n'est pas utilisée. |
TABLE |
La relation est une table. |
VIEW |
La relation est une vue. |
INCREMENTAL_TABLE |
La relation est une table incrémentée. |
MATERIALIZED_VIEW |
La relation est une vue matérialisée. |
TableFormat
Formats de table compatibles pour les tables BigQuery.
| Enums | |
|---|---|
TABLE_FORMAT_UNSPECIFIED |
Valeur par défaut. |
ICEBERG |
Format Apache Iceberg. |
FileFormat
Formats de fichiers compatibles avec les tables BigQuery.
| Enums | |
|---|---|
FILE_FORMAT_UNSPECIFIED |
Valeur par défaut. |
PARQUET |
Format Apache Parquet. |
Annotations d'outils
Les annotations d'outil sont envoyées aux clients MCP pour décrire le risque de base d'un outil donné. La plupart des clients traitent ces indices comme non fiables, mais ils peuvent être utilisés pour déterminer quand un message de confirmation peut être envoyé à un utilisateur.
En plus de la chaîne de titre, les indications booléennes suivantes sont définies comme suit :
readOnlyHint: si la valeur est "true", l'outil ne modifie pas son environnement. Valeur par défaut : "false".destructiveHint: si la valeur est "true", l'outil peut effectuer des actions destructrices. Si la valeur est "false", l'outil ne peut effectuer que des actions d'ajout. Valeur par défaut : "true".idempotentHint: si la valeur est "true", appeler l'outil à plusieurs reprises avec les mêmes arguments n'aura aucun effet supplémentaire sur son environnement. Valeur par défaut : "false".openWorldHint: si la valeur est "true", l'outil peut interagir avec un "monde ouvert" d'entités externes. Si la valeur est "false", l'outil ne peut interagir qu'avec des entités internes. Par exemple, un outil de recherche Web serait en monde ouvert, tandis qu'un outil de mémoire ne le serait pas.
Indication destructive : ❌ | Indication d'idempotence : ✅ | Indication de lecture seule : ✅ | Indication de monde ouvert : ❌