MCP Tools Reference: dataform.googleapis.com

Outil : create_workflow_invocation

Crée une invocation de workflow dans un dépôt Dataform donné.

La valeur du paramètre parent doit être au format projects/{project_id}/locations/{location}/repositories/{repository}.

Il est obligatoire d'indiquer soit la valeur du paramètre compilation_result, soit celle du paramètre workflow_config.

  • Si vous utilisez compilation_result, la valeur du paramètre doit être au format projects/{project_id}/locations/{location}/repositories/{repository}/compilationResults/{compilation_result}.
  • Si vous utilisez workflow_config, la valeur du paramètre doit être au format projects/{project_id}/locations/{location}/repositories/{repository}/workflowConfigs/{workflow_config}.

Condition préalable : Pour déclencher une invocation, vous devez d'abord créer un compilation_result à l'aide de l'outil create_compilation_result ou un workflow_config à l'aide de l'outil create_workflow_config. Vous ne pouvez pas déclencher d'appel directement à partir du code brut du dépôt.

L'appel de workflow s'exécute sous un compte de service déterminé par la source de compilation :

  • Si vous utilisez compilation_result, définissez la valeur du paramètre invocationConfig.serviceAccount. Si cet élément n'est pas spécifié, la valeur service_account par défaut du dépôt s'applique.
  • Si vous utilisez workflow_config, ne définissez pas le paramètre invocationConfig. L'appel s'exécute automatiquement sous le compte de service configuré dans cette configuration de workflow.

Le compte de service ne peut pas être l'agent de service Dataform par défaut. Le compte de service doit disposer des autorisations nécessaires pour exécuter le workflow, et l'utilisateur doit être autorisé à agir en tant que compte de service sélectionné. Cette autorisation est généralement accordée par le biais du rôle Utilisateur du compte de service (roles/iam.serviceAccountUser), qui peut être accordé sur le compte de service lui-même ou sur le projet qui le contient.

L'exemple de code suivant montre comment utiliser curl pour appeler l'outil MCP create_workflow_invocation.

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": "create_workflow_invocation",
    "arguments": {
      // Provide these details according to the MCP tool specification.
    }
  },
  "jsonrpc": "2.0",
  "id": 1
}'

Schéma d'entrée

Message de requête CreateWorkflowInvocation.

CreateWorkflowInvocationRequest

Représentation JSON
{
  "parent": string,
  "workflowInvocation": {
    object (WorkflowInvocation)
  }
}
Champs
parent

string

Obligatoire. Dépôt dans lequel créer l'invocation de workflow. Il doit respecter le format projects/*/locations/*/repositories/*.

workflowInvocation

object (WorkflowInvocation)

Obligatoire. Ressource d'appel de workflow à créer.

WorkflowInvocation

Représentation JSON
{
  "name": string,
  "invocationConfig": {
    object (InvocationConfig)
  },
  "state": enum (State),
  "invocationTiming": {
    object (Interval)
  },
  "resolvedCompilationResult": string,
  "dataEncryptionState": {
    object (DataEncryptionState)
  },
  "privateResourceMetadata": {
    object (PrivateResourceMetadata)
  },
  "pipelineConfig": {
    object (PipelineConfig)
  },

  // Union field compilation_source can be only one of the following:
  "compilationResult": string,
  "workflowConfig": string
  // End of list of possible types for union field compilation_source.

  // Union field _internal_metadata can be only one of the following:
  "internalMetadata": string
  // End of list of possible types for union field _internal_metadata.
}
Champs
name

string

Uniquement en sortie. Nom de l'appel de workflow.

invocationConfig

object (InvocationConfig)

Immuable. Si elle n'est pas définie, une InvocationConfig par défaut sera utilisée.

state

enum (State)

Uniquement en sortie. État actuel de l'appel de workflow.

invocationTiming

object (Interval)

Uniquement en sortie. Détails de timing de l'appel de workflow.

resolvedCompilationResult

string

Uniquement en sortie. Résultat de la compilation résolue qui a été utilisé pour créer cette invocation. Il sera au format projects/*/locations/*/repositories/*/compilationResults/*.

dataEncryptionState

object (DataEncryptionState)

Uniquement en sortie. Défini uniquement si le dépôt possède une clé KMS.

privateResourceMetadata

object (PrivateResourceMetadata)

Uniquement en sortie. Métadonnées indiquant si cette ressource est de portée utilisateur. La ressource WorkflowInvocation est user_scoped uniquement si elle provient d'un résultat de compilation et que ce résultat est de portée utilisateur.

pipelineConfig

object (PipelineConfig)

Uniquement en sortie. Options de pipeline qui définissent le type et le chemin d'accès du pipeline dans le dépôt Git.

Champ d'union compilation_source. Source du résultat de la compilation à utiliser pour cet appel. compilation_source ne peut être qu'un des éléments suivants :
compilationResult

string

Immuable. Nom du résultat de la compilation à utiliser pour cet appel. Il doit respecter le format projects/*/locations/*/repositories/*/compilationResults/*.

workflowConfig

string

Immuable. Nom de la configuration de workflow à appeler. Il doit respecter le format projects/*/locations/*/repositories/*/workflowConfigs/*.

Champ d'union _internal_metadata.

_internal_metadata ne peut être qu'un des éléments suivants :

internalMetadata

string

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.

InvocationConfig

Représentation JSON
{
  "includedTargets": [
    {
      object (Target)
    }
  ],
  "includedTags": [
    string
  ],
  "transitiveDependenciesIncluded": boolean,
  "transitiveDependentsIncluded": boolean,
  "fullyRefreshIncrementalTablesEnabled": boolean,
  "serviceAccount": string,

  // Union field _query_priority can be only one of the following:
  "queryPriority": enum (QueryPriority)
  // End of list of possible types for union field _query_priority.
}
Champs
includedTargets[]

object (Target)

Facultatif. Ensemble d'identifiants d'action à inclure.

includedTags[]

string

Facultatif. Ensemble de tags à inclure.

transitiveDependenciesIncluded

boolean

Facultatif. Si la valeur est définie sur "true", les dépendances transitives des actions incluses seront exécutées.

transitiveDependentsIncluded

boolean

Facultatif. Si la valeur est définie sur "true", les dépendants transitifs des actions incluses seront exécutés.

fullyRefreshIncrementalTablesEnabled

boolean

Facultatif. Si cette valeur est définie sur "true", toutes les tables incrémentales seront entièrement actualisées.

serviceAccount

string

Facultatif. Compte de service sous lequel exécuter les appels de workflow.

Champ d'union _query_priority.

_query_priority ne peut être qu'un des éléments suivants :

queryPriority

enum (QueryPriority)

Facultatif. Spécifie la priorité d'exécution des requêtes dans BigQuery. Pour en savoir plus, consultez https://cloud.google.com/bigquery/docs/running-queries#queries.

Cible

Représentation JSON
{
  "database": string,
  "schema": string,
  "name": string
}
Champs
database

string

Facultatif. Base de données de l'action (ID de projet Google Cloud) .

schema

string

Facultatif. Schéma de l'action (ID de l'ensemble de données BigQuery), dans database.

name

string

Facultatif. Nom de l'action, dans database et schema.

Intervalle

Représentation JSON
{
  "startTime": string,
  "endTime": string
}
Champs
startTime

string (Timestamp format)

Facultatif. Valeur de début (inclusive) de l'intervalle.

Si elle est spécifiée, un code temporel correspondant à cet intervalle devra être égal ou postérieur à l'heure de début.

Utilise la norme RFC 3339, où la sortie générée utilise toujours le format UTC (indiqué par "Z" pour le temps universel coordonné) avec des secondes fractionnaires de 0, 3, 6 ou 9 chiffres décimaux. Des décalages horaires autres que "Z" (UTC) sont également acceptés. Exemples : "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" ou "2014-10-02T15:01:23+05:30".

endTime

string (Timestamp format)

Facultatif. Valeur de fin (exclusive) de l'intervalle.

Si elle est spécifiée, un code temporel correspondant à cet intervalle devra être antérieur à l'heure de fin.

Utilise la norme RFC 3339, où la sortie générée utilise toujours le format UTC (indiqué par "Z" pour le temps universel coordonné) avec des secondes fractionnaires de 0, 3, 6 ou 9 chiffres décimaux. Des décalages horaires autres que "Z" (UTC) sont également acceptés. Exemples : "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" ou "2014-10-02T15:01:23+05:30".

Horodatage

Représentation JSON
{
  "seconds": string,
  "nanos": integer
}
Champs
seconds

string (int64 format)

Représente les secondes de l'heure UTC à partir de l'epoch Unix 1970-01-01T00:00:00Z. La valeur doit être comprise entre -62135596800 et 253402300799 inclus (ce qui correspond à 0001-01-01T00:00:00Z et 9999-12-31T23:59:59Z).

nanos

integer

Fractions de secondes non négatives avec une précision de l'ordre de la nanoseconde. Ce champ correspond à la partie en nanosecondes de la durée, et non à une alternative aux secondes. Les valeurs de secondes négatives avec des fractions doivent toujours comporter des valeurs de nanosecondes non négatives comptabilisées dans le temps. La valeur doit être comprise entre 0 et 999 999 999 inclus.

DataEncryptionState

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

string

Obligatoire. Nom de la version de clé KMS avec laquelle les données d'une ressource sont chiffrées.

PrivateResourceMetadata

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

boolean

Uniquement en sortie. Si la valeur est "true", cette ressource est de portée utilisateur, ce qui signifie qu'elle est associée à un espace de travail ou provient d'un espace de travail.

PipelineConfig

Représentation JSON
{
  "pipelineType": enum (PipelineType),
  "path": string
}
Champs
pipelineType

enum (PipelineType)

Obligatoire. Type de pipeline.

path

string

Obligatoire. Chemin d'accès relatif dans le dépôt Git où le pipeline est défini. Par exemple, pour un pipeline Dataform, il s'agit d'un chemin d'accès au dossier où se trouve workflow_settings.yaml ou dataform.json.

QueryPriority

Types de priorité pour l'exécution des requêtes dans BigQuery.

Enums
QUERY_PRIORITY_UNSPECIFIED Valeur par défaut. Cette valeur n'est pas utilisée.
INTERACTIVE La requête sera exécutée dans BigQuery avec une priorité interactive. Pour en savoir plus, consultez https://cloud.google.com/bigquery/docs/running-queries#queries.
BATCH La requête sera exécutée dans BigQuery avec la priorité des requêtes par lot. Pour en savoir plus, consultez https://cloud.google.com/bigquery/docs/running-queries#batchqueries.

État

Représente l'état actuel d'un appel de workflow.

Enums
STATE_UNSPECIFIED Valeur par défaut. Cette valeur n'est pas utilisée.
RUNNING L'appel de workflow est en cours d'exécution.
SUCCEEDED L'appel du workflow a réussi. État final.
CANCELLED L'appel de workflow a été annulé. État final.
FAILED L'appel du workflow a échoué. État final.
CANCELING L'appel de workflow est en cours d'annulation, mais certaines actions sont toujours en cours d'exécution.

PipelineType

Type de pipeline. Cette durée pourra être prolongée à l'avenir. En cas de valeur UNSPECIFIED, l'erreur sera générée.

Enums
PIPELINE_TYPE_UNSPECIFIED Valeur par défaut. Cette valeur n'est pas utilisée.
DATAFORM Pipeline Dataform standard.
SQL Élément de fichier unique SQL.
NOTEBOOK Composant de fichier unique Notebook.

Schéma de sortie

Représente une seule invocation d'un résultat de compilation.

WorkflowInvocation

Représentation JSON
{
  "name": string,
  "invocationConfig": {
    object (InvocationConfig)
  },
  "state": enum (State),
  "invocationTiming": {
    object (Interval)
  },
  "resolvedCompilationResult": string,
  "dataEncryptionState": {
    object (DataEncryptionState)
  },
  "privateResourceMetadata": {
    object (PrivateResourceMetadata)
  },
  "pipelineConfig": {
    object (PipelineConfig)
  },

  // Union field compilation_source can be only one of the following:
  "compilationResult": string,
  "workflowConfig": string
  // End of list of possible types for union field compilation_source.

  // Union field _internal_metadata can be only one of the following:
  "internalMetadata": string
  // End of list of possible types for union field _internal_metadata.
}
Champs
name

string

Uniquement en sortie. Nom de l'appel de workflow.

invocationConfig

object (InvocationConfig)

Immuable. Si elle n'est pas définie, une InvocationConfig par défaut sera utilisée.

state

enum (State)

Uniquement en sortie. État actuel de l'appel de workflow.

invocationTiming

object (Interval)

Uniquement en sortie. Détails de timing de l'appel de workflow.

resolvedCompilationResult

string

Uniquement en sortie. Résultat de la compilation résolue qui a été utilisé pour créer cette invocation. Il sera au format projects/*/locations/*/repositories/*/compilationResults/*.

dataEncryptionState

object (DataEncryptionState)

Uniquement en sortie. Défini uniquement si le dépôt possède une clé KMS.

privateResourceMetadata

object (PrivateResourceMetadata)

Uniquement en sortie. Métadonnées indiquant si cette ressource est de portée utilisateur. La ressource WorkflowInvocation est user_scoped uniquement si elle provient d'un résultat de compilation et que ce résultat est de portée utilisateur.

pipelineConfig

object (PipelineConfig)

Uniquement en sortie. Options de pipeline qui définissent le type et le chemin d'accès du pipeline dans le dépôt Git.

Champ d'union compilation_source. Source du résultat de la compilation à utiliser pour cet appel. compilation_source ne peut être qu'un des éléments suivants :
compilationResult

string

Immuable. Nom du résultat de la compilation à utiliser pour cet appel. Il doit respecter le format projects/*/locations/*/repositories/*/compilationResults/*.

workflowConfig

string

Immuable. Nom de la configuration de workflow à appeler. Il doit respecter le format projects/*/locations/*/repositories/*/workflowConfigs/*.

Champ d'union _internal_metadata.

_internal_metadata ne peut être qu'un des éléments suivants :

internalMetadata

string

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.

InvocationConfig

Représentation JSON
{
  "includedTargets": [
    {
      object (Target)
    }
  ],
  "includedTags": [
    string
  ],
  "transitiveDependenciesIncluded": boolean,
  "transitiveDependentsIncluded": boolean,
  "fullyRefreshIncrementalTablesEnabled": boolean,
  "serviceAccount": string,

  // Union field _query_priority can be only one of the following:
  "queryPriority": enum (QueryPriority)
  // End of list of possible types for union field _query_priority.
}
Champs
includedTargets[]

object (Target)

Facultatif. Ensemble d'identifiants d'action à inclure.

includedTags[]

string

Facultatif. Ensemble de tags à inclure.

transitiveDependenciesIncluded

boolean

Facultatif. Si la valeur est définie sur "true", les dépendances transitives des actions incluses seront exécutées.

transitiveDependentsIncluded

boolean

Facultatif. Si la valeur est définie sur "true", les dépendants transitifs des actions incluses seront exécutés.

fullyRefreshIncrementalTablesEnabled

boolean

Facultatif. Si cette valeur est définie sur "true", toutes les tables incrémentales seront entièrement actualisées.

serviceAccount

string

Facultatif. Compte de service sous lequel exécuter les appels de workflow.

Champ d'union _query_priority.

_query_priority ne peut être qu'un des éléments suivants :

queryPriority

enum (QueryPriority)

Facultatif. Spécifie la priorité d'exécution des requêtes dans BigQuery. Pour en savoir plus, consultez https://cloud.google.com/bigquery/docs/running-queries#queries.

Cible

Représentation JSON
{
  "database": string,
  "schema": string,
  "name": string
}
Champs
database

string

Facultatif. Base de données de l'action (ID de projet Google Cloud) .

schema

string

Facultatif. Schéma de l'action (ID de l'ensemble de données BigQuery), dans database.

name

string

Facultatif. Nom de l'action, dans database et schema.

Intervalle

Représentation JSON
{
  "startTime": string,
  "endTime": string
}
Champs
startTime

string (Timestamp format)

Facultatif. Valeur de début (inclusive) de l'intervalle.

Si elle est spécifiée, un code temporel correspondant à cet intervalle devra être égal ou postérieur à l'heure de début.

Utilise la norme RFC 3339, où la sortie générée utilise toujours le format UTC (indiqué par "Z" pour le temps universel coordonné) avec des secondes fractionnaires de 0, 3, 6 ou 9 chiffres décimaux. Des décalages horaires autres que "Z" (UTC) sont également acceptés. Exemples : "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" ou "2014-10-02T15:01:23+05:30".

endTime

string (Timestamp format)

Facultatif. Valeur de fin (exclusive) de l'intervalle.

Si elle est spécifiée, un code temporel correspondant à cet intervalle devra être antérieur à l'heure de fin.

Utilise la norme RFC 3339, où la sortie générée utilise toujours le format UTC (indiqué par "Z" pour le temps universel coordonné) avec des secondes fractionnaires de 0, 3, 6 ou 9 chiffres décimaux. Des décalages horaires autres que "Z" (UTC) sont également acceptés. Exemples : "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" ou "2014-10-02T15:01:23+05:30".

Horodatage

Représentation JSON
{
  "seconds": string,
  "nanos": integer
}
Champs
seconds

string (int64 format)

Représente les secondes de l'heure UTC à partir de l'epoch Unix 1970-01-01T00:00:00Z. La valeur doit être comprise entre -62135596800 et 253402300799 inclus (ce qui correspond à 0001-01-01T00:00:00Z et 9999-12-31T23:59:59Z).

nanos

integer

Fractions de secondes non négatives avec une précision de l'ordre de la nanoseconde. Ce champ correspond à la partie en nanosecondes de la durée, et non à une alternative aux secondes. Les valeurs de secondes négatives avec des fractions doivent toujours comporter des valeurs de nanosecondes non négatives comptabilisées dans le temps. La valeur doit être comprise entre 0 et 999 999 999 inclus.

DataEncryptionState

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

string

Obligatoire. Nom de la version de clé KMS avec laquelle les données d'une ressource sont chiffrées.

PrivateResourceMetadata

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

boolean

Uniquement en sortie. Si la valeur est "true", cette ressource est de portée utilisateur, ce qui signifie qu'elle est associée à un espace de travail ou provient d'un espace de travail.

PipelineConfig

Représentation JSON
{
  "pipelineType": enum (PipelineType),
  "path": string
}
Champs
pipelineType

enum (PipelineType)

Obligatoire. Type de pipeline.

path

string

Obligatoire. Chemin d'accès relatif dans le dépôt Git où le pipeline est défini. Par exemple, pour un pipeline Dataform, il s'agit d'un chemin d'accès au dossier où se trouve workflow_settings.yaml ou dataform.json.

QueryPriority

Types de priorité pour l'exécution des requêtes dans BigQuery.

Enums
QUERY_PRIORITY_UNSPECIFIED Valeur par défaut. Cette valeur n'est pas utilisée.
INTERACTIVE La requête sera exécutée dans BigQuery avec une priorité interactive. Pour en savoir plus, consultez https://cloud.google.com/bigquery/docs/running-queries#queries.
BATCH La requête sera exécutée dans BigQuery avec la priorité des requêtes par lot. Pour en savoir plus, consultez https://cloud.google.com/bigquery/docs/running-queries#batchqueries.

État

Représente l'état actuel d'un appel de workflow.

Enums
STATE_UNSPECIFIED Valeur par défaut. Cette valeur n'est pas utilisée.
RUNNING L'appel de workflow est en cours d'exécution.
SUCCEEDED L'appel du workflow a réussi. État final.
CANCELLED L'appel de workflow a été annulé. État final.
FAILED L'appel du workflow a échoué. État final.
CANCELING L'appel de workflow est en cours d'annulation, mais certaines actions sont toujours en cours d'exécution.

PipelineType

Type de pipeline. Cette durée pourra être prolongée à l'avenir. En cas de valeur UNSPECIFIED, l'erreur sera générée.

Enums
PIPELINE_TYPE_UNSPECIFIED Valeur par défaut. Cette valeur n'est pas utilisée.
DATAFORM Pipeline Dataform standard.
SQL Élément de fichier unique SQL.
NOTEBOOK Composant de fichier unique Notebook.

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 : ❌