Strumento: create_compilation_result
Crea un nuovo risultato di compilazione Dataform in un progetto Google Cloud e una località specifici.
Questo strumento compila i file .sqlx in SQL eseguibile. Gli agenti devono sapere che le modifiche successive al codice non vengono riflesse in questo risultato, a meno che non venga attivata una nuova compilazione.
Il valore parametro parent deve essere nel formato projects/{project_id}/locations/{location}/repositories/{repository}.
Gli agenti possono convalidare l'SQL compilato esaminando le risorse CompilationResultAction e potenzialmente utilizzando uno strumento BigQuery per una prova generale.
È necessario un risultato di compilazione valido prima di attivare una chiamata manuale del flusso di lavoro utilizzando lo strumento create_workflow_invocation.
Prerequisito: crea un repository utilizzando lo strumento create_repository prima di chiamare lo strumento create_compilation_result.
Il seguente esempio di codice mostra come utilizzare curl per chiamare lo strumento MCP create_compilation_result.
| 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_compilation_result", "arguments": { // Provide these details according to the MCP tool specification. } }, "jsonrpc": "2.0", "id": 1 }' |
Schema di input
CreateCompilationResult messaggio di richiesta.
CreateCompilationResultRequest
| Rappresentazione JSON |
|---|
{
"parent": string,
"compilationResult": {
object ( |
| Campi | |
|---|---|
parent |
Obbligatorio. Il repository in cui creare il risultato della compilazione. Deve essere nel formato |
compilationResult |
Obbligatorio. Il risultato della compilazione da creare. |
CompilationResult
| Rappresentazione JSON |
|---|
{ "name": string, "codeCompilationConfig": { object ( |
| Campi | |
|---|---|
name |
Solo output. Il nome del risultato della compilazione. |
codeCompilationConfig |
Immutabile. Se impostati, i campi di |
resolvedGitCommitSha |
Solo output. La SHA del commit Git completamente risolta del codice compilato. Non impostato per i risultati della compilazione la cui origine è un workspace. |
dataformCoreVersion |
Solo output. La versione di |
compilationErrors[] |
Solo output. Errori rilevati durante la compilazione del progetto. |
dataEncryptionState |
Solo output. Imposta solo se il repository ha una chiave KMS. |
createTime |
Solo output. Il timestamp di creazione del risultato di compilazione. 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: |
privateResourceMetadata |
Solo output. Metadati che indicano se questa risorsa è limitata all'utente. La risorsa |
gcsRepositorySnapshotMetadata |
Solo output. Metadati sullo snapshot del repository utilizzato dai blocchi note pianificati. |
Campo unione source. L'origine del risultato della compilazione. source può essere solo uno dei seguenti tipi: |
|
gitCommitish |
Immutabile. Nome del commit/tag/branch Git in cui deve essere compilato il repository. Deve esistere nel repository remoto. Esempi: - SHA di un commit: |
workspace |
Immutabile. Il nome del workspace da compilare. Deve essere nel formato |
releaseConfig |
Immutabile. Il nome della configurazione della release da compilare. 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. |
CodeCompilationConfig
| Rappresentazione JSON |
|---|
{ "defaultDatabase": string, "defaultSchema": string, "defaultLocation": string, "assertionSchema": string, "vars": { string: string, ... }, "databaseSuffix": string, "schemaSuffix": string, "tablePrefix": string, "builtinAssertionNamePrefix": string, "defaultNotebookRuntimeOptions": { object ( |
| Campi | |
|---|---|
defaultDatabase |
Facoltativo. Il database predefinito (ID progetto Google Cloud). |
defaultSchema |
Facoltativo. Lo schema predefinito (ID set di dati BigQuery). |
defaultLocation |
Facoltativo. La località BigQuery predefinita da utilizzare. Il valore predefinito è "US". Per un elenco completo delle località, consulta la documentazione di BigQuery: https://cloud.google.com/bigquery/docs/locations. |
assertionSchema |
Facoltativo. Lo schema predefinito (ID set di dati BigQuery) per le asserzioni. |
vars |
Facoltativo. Variabili definite dall'utente rese disponibili al codice del progetto durante la compilazione. Un oggetto contenente un elenco di coppie |
databaseSuffix |
Facoltativo. Il suffisso da aggiungere a tutti i nomi dei database (ID progetto Google Cloud). |
schemaSuffix |
Facoltativo. Il suffisso da aggiungere a tutti i nomi degli schemi (ID set di dati BigQuery). |
tablePrefix |
Facoltativo. Il prefisso da aggiungere all'inizio di tutti i nomi delle tabelle. |
builtinAssertionNamePrefix |
Facoltativo. Il prefisso da anteporre ai nomi delle asserzioni integrate. |
defaultNotebookRuntimeOptions |
Facoltativo. Le opzioni di runtime predefinite del notebook. |
pipelineConfig |
Facoltativo. Le opzioni della pipeline che definiscono il tipo e il percorso della pipeline all'interno del repository Git. |
VarsEntry
| Rappresentazione JSON |
|---|
{ "key": string, "value": string } |
| Campi | |
|---|---|
key |
|
value |
|
NotebookRuntimeOptions
| Rappresentazione JSON |
|---|
{ "aiPlatformNotebookRuntimeTemplate": string, // Union field |
| Campi | |
|---|---|
aiPlatformNotebookRuntimeTemplate |
Facoltativo. Il nome della risorsa del template di runtime di Colab, da cui viene creato un runtime per le esecuzioni dei notebook. Se non specificato, viene creato un runtime con le specifiche predefinite di Colab. |
Campo unione execution_sink. Il percorso in cui archiviare il risultato dell'esecuzione del notebook. execution_sink può essere solo uno dei seguenti tipi: |
|
gcsOutputBucket |
Facoltativo. La posizione di Google Cloud Storage in cui caricare il risultato. Formato: |
Campo unione repository_snapshot_storage. La destinazione dello snapshot dei file del repository da rendere disponibile per l'accesso in sola lettura all'interno di un runtime del notebook repository_snapshot_storage può essere solo una delle seguenti: |
|
gcsRepositorySnapshotDestination |
Facoltativo. La destinazione Google Cloud Storage in cui caricare lo snapshot. Per l'URI vuoto, il valore predefinito è gcs_output_bucket fornito. Formato: |
GcsRepositorySnapshotDestination
| Rappresentazione JSON |
|---|
{ "repositorySnapshotUri": string } |
| Campi | |
|---|---|
repositorySnapshotUri |
Facoltativo. La destinazione Google Cloud Storage in cui caricare lo snapshot del repository. Formato: |
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 |
CompilationError
| Rappresentazione JSON |
|---|
{
"message": string,
"stack": string,
"path": string,
"actionTarget": {
object ( |
| Campi | |
|---|---|
message |
Solo output. Il messaggio di primo livello dell'errore. |
stack |
Solo output. L'analisi dello stack completa dell'errore. |
path |
Solo output. Il percorso del file in cui si è verificato questo errore, se disponibile, relativo alla radice del progetto. |
actionTarget |
Solo output. L'identificatore dell'azione in cui si è verificato questo errore, se disponibile. |
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 |
DataEncryptionState
| Rappresentazione JSON |
|---|
{ "kmsKeyVersionName": string } |
| Campi | |
|---|---|
kmsKeyVersionName |
Obbligatorio. Il nome della versione della chiave KMS con cui vengono criptati i dati di una risorsa. |
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. |
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. |
GcsRepositorySnapshotMetadata
| Rappresentazione JSON |
|---|
{ "repositorySnapshotUri": string, "crc32cChecksum": string, "generation": string } |
| Campi | |
|---|---|
repositorySnapshotUri |
Solo output. L'URI Google Cloud Storage dello snapshot del repository. |
crc32cChecksum |
Solo output. Il checksum crc32c dello snapshot del repository, codificato in base64 big-endian. |
generation |
Solo output. Il numero di generazione dell'oggetto Cloud Storage. Consulta la pagina https://cloud.google.com/storage/docs/metadata#generation-number. |
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 il risultato della compilazione di un progetto Dataform.
CompilationResult
| Rappresentazione JSON |
|---|
{ "name": string, "codeCompilationConfig": { object ( |
| Campi | |
|---|---|
name |
Solo output. Il nome del risultato della compilazione. |
codeCompilationConfig |
Immutabile. Se impostati, i campi di |
resolvedGitCommitSha |
Solo output. La SHA del commit Git completamente risolta del codice compilato. Non impostato per i risultati della compilazione la cui origine è un workspace. |
dataformCoreVersion |
Solo output. La versione di |
compilationErrors[] |
Solo output. Errori rilevati durante la compilazione del progetto. |
dataEncryptionState |
Solo output. Imposta solo se il repository ha una chiave KMS. |
createTime |
Solo output. Il timestamp di creazione del risultato di compilazione. 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: |
privateResourceMetadata |
Solo output. Metadati che indicano se questa risorsa è limitata all'utente. La risorsa |
gcsRepositorySnapshotMetadata |
Solo output. Metadati sullo snapshot del repository utilizzato dai blocchi note pianificati. |
Campo unione source. L'origine del risultato della compilazione. source può essere solo uno dei seguenti tipi: |
|
gitCommitish |
Immutabile. Nome del commit/tag/branch Git in cui deve essere compilato il repository. Deve esistere nel repository remoto. Esempi: - SHA di un commit: |
workspace |
Immutabile. Il nome del workspace da compilare. Deve essere nel formato |
releaseConfig |
Immutabile. Il nome della configurazione della release da compilare. 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. |
CodeCompilationConfig
| Rappresentazione JSON |
|---|
{ "defaultDatabase": string, "defaultSchema": string, "defaultLocation": string, "assertionSchema": string, "vars": { string: string, ... }, "databaseSuffix": string, "schemaSuffix": string, "tablePrefix": string, "builtinAssertionNamePrefix": string, "defaultNotebookRuntimeOptions": { object ( |
| Campi | |
|---|---|
defaultDatabase |
Facoltativo. Il database predefinito (ID progetto Google Cloud). |
defaultSchema |
Facoltativo. Lo schema predefinito (ID set di dati BigQuery). |
defaultLocation |
Facoltativo. La località BigQuery predefinita da utilizzare. Il valore predefinito è "US". Per un elenco completo delle località, consulta la documentazione di BigQuery: https://cloud.google.com/bigquery/docs/locations. |
assertionSchema |
Facoltativo. Lo schema predefinito (ID set di dati BigQuery) per le asserzioni. |
vars |
Facoltativo. Variabili definite dall'utente rese disponibili al codice del progetto durante la compilazione. Un oggetto contenente un elenco di coppie |
databaseSuffix |
Facoltativo. Il suffisso da aggiungere a tutti i nomi dei database (ID progetto Google Cloud). |
schemaSuffix |
Facoltativo. Il suffisso da aggiungere a tutti i nomi degli schemi (ID set di dati BigQuery). |
tablePrefix |
Facoltativo. Il prefisso da aggiungere all'inizio di tutti i nomi delle tabelle. |
builtinAssertionNamePrefix |
Facoltativo. Il prefisso da anteporre ai nomi delle asserzioni integrate. |
defaultNotebookRuntimeOptions |
Facoltativo. Le opzioni di runtime predefinite del notebook. |
pipelineConfig |
Facoltativo. Le opzioni della pipeline che definiscono il tipo e il percorso della pipeline all'interno del repository Git. |
VarsEntry
| Rappresentazione JSON |
|---|
{ "key": string, "value": string } |
| Campi | |
|---|---|
key |
|
value |
|
NotebookRuntimeOptions
| Rappresentazione JSON |
|---|
{ "aiPlatformNotebookRuntimeTemplate": string, // Union field |
| Campi | |
|---|---|
aiPlatformNotebookRuntimeTemplate |
Facoltativo. Il nome della risorsa del template di runtime di Colab, da cui viene creato un runtime per le esecuzioni dei notebook. Se non specificato, viene creato un runtime con le specifiche predefinite di Colab. |
Campo unione execution_sink. Il percorso in cui archiviare il risultato dell'esecuzione del notebook. execution_sink può essere solo uno dei seguenti tipi: |
|
gcsOutputBucket |
Facoltativo. La posizione di Google Cloud Storage in cui caricare il risultato. Formato: |
Campo unione repository_snapshot_storage. La destinazione dello snapshot dei file del repository da rendere disponibile per l'accesso in sola lettura all'interno di un runtime del notebook repository_snapshot_storage può essere solo una delle seguenti: |
|
gcsRepositorySnapshotDestination |
Facoltativo. La destinazione Google Cloud Storage in cui caricare lo snapshot. Per l'URI vuoto, il valore predefinito è gcs_output_bucket fornito. Formato: |
GcsRepositorySnapshotDestination
| Rappresentazione JSON |
|---|
{ "repositorySnapshotUri": string } |
| Campi | |
|---|---|
repositorySnapshotUri |
Facoltativo. La destinazione Google Cloud Storage in cui caricare lo snapshot del repository. Formato: |
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 |
CompilationError
| Rappresentazione JSON |
|---|
{
"message": string,
"stack": string,
"path": string,
"actionTarget": {
object ( |
| Campi | |
|---|---|
message |
Solo output. Il messaggio di primo livello dell'errore. |
stack |
Solo output. L'analisi dello stack completa dell'errore. |
path |
Solo output. Il percorso del file in cui si è verificato questo errore, se disponibile, relativo alla radice del progetto. |
actionTarget |
Solo output. L'identificatore dell'azione in cui si è verificato questo errore, se disponibile. |
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 |
DataEncryptionState
| Rappresentazione JSON |
|---|
{ "kmsKeyVersionName": string } |
| Campi | |
|---|---|
kmsKeyVersionName |
Obbligatorio. Il nome della versione della chiave KMS con cui vengono criptati i dati di una risorsa. |
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. |
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. |
GcsRepositorySnapshotMetadata
| Rappresentazione JSON |
|---|
{ "repositorySnapshotUri": string, "crc32cChecksum": string, "generation": string } |
| Campi | |
|---|---|
repositorySnapshotUri |
Solo output. L'URI Google Cloud Storage dello snapshot del repository. |
crc32cChecksum |
Solo output. Il checksum crc32c dello snapshot del repository, codificato in base64 big-endian. |
generation |
Solo output. Il numero di generazione dell'oggetto Cloud Storage. Consulta la pagina https://cloud.google.com/storage/docs/metadata#generation-number. |
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: ❌