Strumento: create_workflow_invocation
Crea una nuova chiamata del workflow in un determinato repository Dataform.
Il valore parametro parent deve essere nel formato projects/{project_id}/locations/{location}/repositories/{repository}.
È obbligatorio specificare il valore parametro compilation_result o workflow_config.
- Se utilizzi
compilation_result, il valore parametro deve essere nel formatoprojects/{project_id}/locations/{location}/repositories/{repository}/compilationResults/{compilation_result}. - Se utilizzi
workflow_config, il valore parametro deve essere nel formatoprojects/{project_id}/locations/{location}/repositories/{repository}/workflowConfigs/{workflow_config}.
Prerequisito: per attivare una chiamata, devi prima creare un compilation_result utilizzando lo strumento create_compilation_result o un workflow_config utilizzando lo strumento create_workflow_config. Non puoi attivare una chiamata direttamente dal codice del repository non elaborato.
L'invocazione del workflow viene eseguita con un account di servizio determinato dall'origine di compilazione:
- Se utilizzi
compilation_result, imposta il valore parametroinvocationConfig.serviceAccount. Se omesso, viene utilizzato il valore predefinitoservice_accountdel repository. - Se utilizzi
workflow_config, non impostare il parametroinvocationConfig. L'invocazione viene eseguita automaticamente con il account di servizio configurato in quella configurazione del workflow.
Il account di servizio non può essere l'agente di servizio Dataform predefinito. Il account di servizio deve disporre delle autorizzazioni necessarie per eseguire il flusso di lavoro e l'utente deve essere autorizzato ad agire come il account di servizio selezionato. Questa autorizzazione viene in genere concessa tramite il ruolo Utente service account (roles/iam.serviceAccountUser), che può essere concesso al account di servizio stesso o al progetto che lo contiene.
Il seguente esempio di codice mostra come utilizzare curl per chiamare lo strumento MCP create_workflow_invocation.
| Richiesta 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 }' |
Schema di input
CreateWorkflowInvocation messaggio di richiesta.
CreateWorkflowInvocationRequest
| Rappresentazione JSON |
|---|
{
"parent": string,
"workflowInvocation": {
object ( |
| Campi | |
|---|---|
parent |
Obbligatorio. Il repository in cui creare la chiamata del flusso di lavoro. Deve essere nel formato |
workflowInvocation |
Obbligatorio. La risorsa di chiamata del workflow da creare. |
WorkflowInvocation
| Rappresentazione JSON |
|---|
{ "name": string, "invocationConfig": { object ( |
| Campi | |
|---|---|
name |
Solo output. Il nome dell'invocazione del workflow. |
invocationConfig |
Immutabile. Se non viene impostato, verrà utilizzato un InvocationConfig predefinito. |
state |
Solo output. Lo stato attuale di questa chiamata del flusso di lavoro. |
invocationTiming |
Solo output. Dettagli di temporizzazione di questa chiamata del flusso di lavoro. |
resolvedCompilationResult |
Solo output. Il risultato della compilazione risolto utilizzato per creare questa chiamata. Sarà nel formato |
dataEncryptionState |
Solo output. Imposta solo se il repository ha una chiave KMS. |
privateResourceMetadata |
Solo output. Metadati che indicano se questa risorsa è limitata all'utente. La risorsa |
pipelineConfig |
Solo output. Le opzioni della pipeline che definiscono il tipo e il percorso della pipeline all'interno del repository Git. |
Campo unione compilation_source. L'origine del risultato della compilazione da utilizzare per questa chiamata. compilation_source può essere solo uno dei seguenti tipi: |
|
compilationResult |
Immutabile. Il nome del risultato della compilazione da utilizzare per questa chiamata. Deve essere nel formato |
workflowConfig |
Immutabile. Il nome della configurazione del flusso di lavoro da richiamare. Deve essere nel formato |
Campo unione
|
|
internalMetadata |
Solo output. Tutte le informazioni sui metadati utilizzate internamente per pubblicare la risorsa. Ad esempio, timestamp, flag, campi di stato e così via. Il formato di questo campo è una stringa JSON. |
InvocationConfig
| Rappresentazione JSON |
|---|
{ "includedTargets": [ { object ( |
| Campi | |
|---|---|
includedTargets[] |
Facoltativo. Il set di identificatori di azioni da includere. |
includedTags[] |
Facoltativo. L'insieme di tag da includere. |
transitiveDependenciesIncluded |
Facoltativo. Se è impostato su true, vengono eseguite le dipendenze transitive delle azioni incluse. |
transitiveDependentsIncluded |
Facoltativo. Se è impostato su true, vengono eseguiti i dipendenti transitivi delle azioni incluse. |
fullyRefreshIncrementalTablesEnabled |
Facoltativo. Se impostato su true, tutte le tabelle incrementali vengono aggiornate completamente. |
serviceAccount |
Facoltativo. Il account di servizio con cui eseguire le chiamate del flusso di lavoro. |
Campo unione
|
|
queryPriority |
Facoltativo. Specifica la priorità per l'esecuzione delle query in BigQuery. Per ulteriori informazioni, visita la pagina https://cloud.google.com/bigquery/docs/running-queries#queries. |
Target
| Rappresentazione JSON |
|---|
{ "database": string, "schema": string, "name": string } |
| Campi | |
|---|---|
database |
Facoltativo. Il database dell'azione (ID progetto Google Cloud) . |
schema |
Facoltativo. Lo schema dell'azione (ID set di dati BigQuery), all'interno di |
name |
Facoltativo. Il nome dell'azione, compreso tra |
Intervallo
| Rappresentazione JSON |
|---|
{ "startTime": string, "endTime": string } |
| Campi | |
|---|---|
startTime |
Facoltativo. Inizio inclusivo dell'intervallo. Se specificato, un timestamp corrispondente a questo intervallo dovrà essere uguale o successivo all'inizio. Utilizza RFC 3339, in cui l'output generato è sempre con normalizzazione Z e utilizza 0, 3, 6 o 9 cifre frazionarie. Sono accettati anche offset diversi da "Z". Esempi: |
endTime |
Facoltativo. Fine esclusiva dell'intervallo. Se specificato, un timestamp corrispondente a questo intervallo dovrà essere precedente alla fine. Utilizza RFC 3339, in cui l'output generato è sempre con normalizzazione Z e utilizza 0, 3, 6 o 9 cifre frazionarie. Sono accettati anche offset diversi da "Z". Esempi: |
Timestamp
| Rappresentazione JSON |
|---|
{ "seconds": string, "nanos": integer } |
| Campi | |
|---|---|
seconds |
Rappresenta i secondi di tempo UTC dall'epoca di Unix 1970-01-01T00:00:00Z. Deve essere compreso tra -62135596800 e 253402300799 inclusi (corrispondenti a 0001-01-01T00:00:00Z e 9999-12-31T23:59:59Z). |
nanos |
Frazioni di secondo non negative con risoluzione in nanosecondi. Questo campo è la parte in nanosecondi della durata, non un'alternativa ai secondi. I valori negativi dei secondi con frazioni devono comunque avere valori di nanosecondi non negativi che vengono conteggiati in avanti nel tempo. Deve essere compreso tra 0 e 999.999.999 inclusi. |
DataEncryptionState
| Rappresentazione JSON |
|---|
{ "kmsKeyVersionName": string } |
| Campi | |
|---|---|
kmsKeyVersionName |
Obbligatorio. Il nome della versione della chiave KMS con cui vengono criptati i dati di una risorsa. |
PrivateResourceMetadata
| Rappresentazione JSON |
|---|
{ "userScoped": boolean } |
| Campi | |
|---|---|
userScoped |
Solo output. Se true, questa risorsa è limitata all'utente, il che significa che è uno spazio di lavoro o proviene da uno spazio di lavoro. |
PipelineConfig
| Rappresentazione JSON |
|---|
{
"pipelineType": enum ( |
| Campi | |
|---|---|
pipelineType |
Obbligatorio. Il tipo di pipeline. |
path |
Obbligatorio. Il percorso relativo all'interno del repository Git in cui è definita la pipeline. Ad esempio, per una pipeline Dataform, è un percorso alla cartella in cui si trova |
QueryPriority
Tipi di priorità per l'esecuzione delle query in BigQuery.
| Enum | |
|---|---|
QUERY_PRIORITY_UNSPECIFIED |
Valore predefinito. Questo valore non viene utilizzato. |
INTERACTIVE |
La query verrà eseguita in BigQuery con priorità interattiva. Per ulteriori informazioni, visita la pagina https://cloud.google.com/bigquery/docs/running-queries#queries. |
BATCH |
La query verrà eseguita in BigQuery con priorità batch. Per ulteriori informazioni, visita la pagina https://cloud.google.com/bigquery/docs/running-queries#batchqueries. |
Stato
Rappresenta lo stato attuale di una chiamata del workflow.
| Enum | |
|---|---|
STATE_UNSPECIFIED |
Valore predefinito. Questo valore non viene utilizzato. |
RUNNING |
L'invocazione del workflow è attualmente in esecuzione. |
SUCCEEDED |
L'invocazione del workflow è riuscita. Uno stato terminale. |
CANCELLED |
La chiamata al workflow è stata annullata. Uno stato terminale. |
FAILED |
L'invocazione del workflow non è riuscita. Uno stato terminale. |
CANCELING |
La chiamata del flusso di lavoro è in fase di annullamento, ma alcune azioni sono ancora in esecuzione. |
PipelineType
Il tipo di pipeline. Questo periodo potrebbe essere esteso in futuro. In caso di UNSPECIFIED, l'errore verrà generato.
| Enum | |
|---|---|
PIPELINE_TYPE_UNSPECIFIED |
Valore predefinito. Questo valore non viene utilizzato. |
DATAFORM |
Pipeline Dataform normale. |
SQL |
Asset di un singolo file SQL. |
NOTEBOOK |
Asset di un singolo file del notebook. |
Schema di output
Rappresenta una singola invocazione di un risultato di compilazione.
WorkflowInvocation
| Rappresentazione JSON |
|---|
{ "name": string, "invocationConfig": { object ( |
| Campi | |
|---|---|
name |
Solo output. Il nome dell'invocazione del workflow. |
invocationConfig |
Immutabile. Se non viene impostato, verrà utilizzato un InvocationConfig predefinito. |
state |
Solo output. Lo stato attuale di questa chiamata del flusso di lavoro. |
invocationTiming |
Solo output. Dettagli di temporizzazione di questa chiamata del flusso di lavoro. |
resolvedCompilationResult |
Solo output. Il risultato della compilazione risolto utilizzato per creare questa chiamata. Sarà nel formato |
dataEncryptionState |
Solo output. Imposta solo se il repository ha una chiave KMS. |
privateResourceMetadata |
Solo output. Metadati che indicano se questa risorsa è limitata all'utente. La risorsa |
pipelineConfig |
Solo output. Le opzioni della pipeline che definiscono il tipo e il percorso della pipeline all'interno del repository Git. |
Campo unione compilation_source. L'origine del risultato della compilazione da utilizzare per questa chiamata. compilation_source può essere solo uno dei seguenti tipi: |
|
compilationResult |
Immutabile. Il nome del risultato della compilazione da utilizzare per questa chiamata. Deve essere nel formato |
workflowConfig |
Immutabile. Il nome della configurazione del flusso di lavoro da richiamare. Deve essere nel formato |
Campo unione
|
|
internalMetadata |
Solo output. Tutte le informazioni sui metadati utilizzate internamente per pubblicare la risorsa. Ad esempio, timestamp, flag, campi di stato e così via. Il formato di questo campo è una stringa JSON. |
InvocationConfig
| Rappresentazione JSON |
|---|
{ "includedTargets": [ { object ( |
| Campi | |
|---|---|
includedTargets[] |
Facoltativo. Il set di identificatori di azioni da includere. |
includedTags[] |
Facoltativo. L'insieme di tag da includere. |
transitiveDependenciesIncluded |
Facoltativo. Se è impostato su true, vengono eseguite le dipendenze transitive delle azioni incluse. |
transitiveDependentsIncluded |
Facoltativo. Se è impostato su true, vengono eseguiti i dipendenti transitivi delle azioni incluse. |
fullyRefreshIncrementalTablesEnabled |
Facoltativo. Se impostato su true, tutte le tabelle incrementali vengono aggiornate completamente. |
serviceAccount |
Facoltativo. Il account di servizio con cui eseguire le chiamate del flusso di lavoro. |
Campo unione
|
|
queryPriority |
Facoltativo. Specifica la priorità per l'esecuzione delle query in BigQuery. Per ulteriori informazioni, visita la pagina https://cloud.google.com/bigquery/docs/running-queries#queries. |
Target
| Rappresentazione JSON |
|---|
{ "database": string, "schema": string, "name": string } |
| Campi | |
|---|---|
database |
Facoltativo. Il database dell'azione (ID progetto Google Cloud) . |
schema |
Facoltativo. Lo schema dell'azione (ID set di dati BigQuery), all'interno di |
name |
Facoltativo. Il nome dell'azione, compreso tra |
Intervallo
| Rappresentazione JSON |
|---|
{ "startTime": string, "endTime": string } |
| Campi | |
|---|---|
startTime |
Facoltativo. Inizio inclusivo dell'intervallo. Se specificato, un timestamp corrispondente a questo intervallo dovrà essere uguale o successivo all'inizio. Utilizza RFC 3339, in cui l'output generato è sempre con normalizzazione Z e utilizza 0, 3, 6 o 9 cifre frazionarie. Sono accettati anche offset diversi da "Z". Esempi: |
endTime |
Facoltativo. Fine esclusiva dell'intervallo. Se specificato, un timestamp corrispondente a questo intervallo dovrà essere precedente alla fine. Utilizza RFC 3339, in cui l'output generato è sempre con normalizzazione Z e utilizza 0, 3, 6 o 9 cifre frazionarie. Sono accettati anche offset diversi da "Z". Esempi: |
Timestamp
| Rappresentazione JSON |
|---|
{ "seconds": string, "nanos": integer } |
| Campi | |
|---|---|
seconds |
Rappresenta i secondi di tempo UTC dall'epoca di Unix 1970-01-01T00:00:00Z. Deve essere compreso tra -62135596800 e 253402300799 inclusi (corrispondenti a 0001-01-01T00:00:00Z e 9999-12-31T23:59:59Z). |
nanos |
Frazioni di secondo non negative con risoluzione in nanosecondi. Questo campo è la parte in nanosecondi della durata, non un'alternativa ai secondi. I valori negativi dei secondi con frazioni devono comunque avere valori di nanosecondi non negativi che vengono conteggiati in avanti nel tempo. Deve essere compreso tra 0 e 999.999.999 inclusi. |
DataEncryptionState
| Rappresentazione JSON |
|---|
{ "kmsKeyVersionName": string } |
| Campi | |
|---|---|
kmsKeyVersionName |
Obbligatorio. Il nome della versione della chiave KMS con cui vengono criptati i dati di una risorsa. |
PrivateResourceMetadata
| Rappresentazione JSON |
|---|
{ "userScoped": boolean } |
| Campi | |
|---|---|
userScoped |
Solo output. Se true, questa risorsa è limitata all'utente, il che significa che è uno spazio di lavoro o proviene da uno spazio di lavoro. |
PipelineConfig
| Rappresentazione JSON |
|---|
{
"pipelineType": enum ( |
| Campi | |
|---|---|
pipelineType |
Obbligatorio. Il tipo di pipeline. |
path |
Obbligatorio. Il percorso relativo all'interno del repository Git in cui è definita la pipeline. Ad esempio, per una pipeline Dataform, è un percorso alla cartella in cui si trova |
QueryPriority
Tipi di priorità per l'esecuzione delle query in BigQuery.
| Enum | |
|---|---|
QUERY_PRIORITY_UNSPECIFIED |
Valore predefinito. Questo valore non viene utilizzato. |
INTERACTIVE |
La query verrà eseguita in BigQuery con priorità interattiva. Per ulteriori informazioni, visita la pagina https://cloud.google.com/bigquery/docs/running-queries#queries. |
BATCH |
La query verrà eseguita in BigQuery con priorità batch. Per ulteriori informazioni, visita la pagina https://cloud.google.com/bigquery/docs/running-queries#batchqueries. |
Stato
Rappresenta lo stato attuale di una chiamata del workflow.
| Enum | |
|---|---|
STATE_UNSPECIFIED |
Valore predefinito. Questo valore non viene utilizzato. |
RUNNING |
L'invocazione del workflow è attualmente in esecuzione. |
SUCCEEDED |
L'invocazione del workflow è riuscita. Uno stato terminale. |
CANCELLED |
La chiamata al workflow è stata annullata. Uno stato terminale. |
FAILED |
L'invocazione del workflow non è riuscita. Uno stato terminale. |
CANCELING |
La chiamata del flusso di lavoro è in fase di annullamento, ma alcune azioni sono ancora in esecuzione. |
PipelineType
Il tipo di pipeline. Questo periodo potrebbe essere esteso in futuro. In caso di UNSPECIFIED, l'errore verrà generato.
| Enum | |
|---|---|
PIPELINE_TYPE_UNSPECIFIED |
Valore predefinito. Questo valore non viene utilizzato. |
DATAFORM |
Pipeline Dataform normale. |
SQL |
Asset di un singolo file SQL. |
NOTEBOOK |
Asset di un singolo file del notebook. |
Annotazioni dello strumento
Le annotazioni dello strumento vengono inviate ai client MCP per descrivere il rischio di base di un determinato strumento. La maggior parte dei client considera questi suggerimenti non attendibili, ma possono essere utilizzati per decidere quando inviare a un utente una richiesta di conferma.
Oltre alla stringa del titolo, sono definiti i seguenti suggerimenti booleani:
readOnlyHint: se è true, lo strumento non modifica il suo ambiente. Valore predefinito: false.destructiveHint: se è true, lo strumento può eseguire azioni distruttive. Se il valore è false, lo strumento può eseguire solo azioni additive. Valore predefinito: true.idempotentHint: se è true, chiamare ripetutamente lo strumento con gli stessi argomenti non avrà alcun effetto aggiuntivo sul suo ambiente. Valore predefinito: false.openWorldHint: se è true, lo strumento può interagire con un "open world" di entità esterne. Se è false, lo strumento può interagire solo con le entità interne. Ad esempio, uno strumento di ricerca web sarebbe open world, mentre uno strumento di memoria no.
Suggerimento distruttivo: ❌ | Suggerimento idempotente: ❌ | Suggerimento di sola lettura: ❌ | Suggerimento open world: ❌