Strumento: query_compilation_actions
Restituisce le azioni del risultato della compilazione per un determinato risultato della compilazione di Dataform.
Il valore parametro name deve essere nel formato projects/{project_id}/locations/{location}/repositories/{repository}/compilationResults/{compilation_result}.
Il seguente esempio di codice mostra come utilizzare curl per chiamare lo strumento MCP query_compilation_actions.
| 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": "query_compilation_actions", "arguments": { // Provide these details according to the MCP tool specification. } }, "jsonrpc": "2.0", "id": 1 }' |
Schema di input
QueryCompilationResultActions messaggio di richiesta.
QueryCompilationResultActionsRequest
| Rappresentazione JSON |
|---|
{ "name": string, "pageSize": integer, "pageToken": string, "filter": string } |
| Campi | |
|---|---|
name |
Obbligatorio. Il nome del risultato della compilazione. |
pageSize |
Facoltativo. Il numero massimo di risultati di compilazione da restituire. Il server potrebbe restituire meno elementi di quelli richiesti. Se non specificato, il server sceglierà un valore predefinito appropriato. |
pageToken |
Facoltativo. Token di pagina ricevuto da una precedente chiamata Durante la paginazione, tutti gli altri parametri forniti a |
filter |
Facoltativo. Filtro facoltativo per l'elenco restituito. Al momento, il filtro è supportato solo per il campo |
Schema di output
Messaggio di risposta QueryCompilationResultActions.
QueryCompilationResultActionsResponse
| Rappresentazione JSON |
|---|
{
"compilationResultActions": [
{
object ( |
| Campi | |
|---|---|
compilationResultActions[] |
Elenco delle azioni sui risultati di compilazione. |
nextPageToken |
Un token, che può essere inviato come |
CompilationResultAction
| Rappresentazione JSON |
|---|
{ "target": { object ( |
| Campi | |
|---|---|
target |
L'identificatore di questa azione. Unico all'interno del risultato della compilazione. |
canonicalTarget |
L'identificatore dell'azione se il progetto fosse stato compilato senza override configurati. Unico all'interno del risultato della compilazione. |
filePath |
Il percorso completo, incluso il nome file, in cui si trova questa azione, relativo alla radice dello spazio di lavoro. |
Campo unione compiled_object. L'oggetto compilato. compiled_object può essere solo uno dei seguenti tipi: |
|
relation |
La relazione del database creata/aggiornata da questa azione. |
operations |
Le operazioni del database eseguite da questa azione. |
assertion |
L'asserzione eseguita da questa azione. |
declaration |
La dichiarazione dichiarata da questa azione. |
notebook |
Il notebook eseguito da questa azione. |
dataPreparation |
La preparazione dei dati eseguita da questa azione. |
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. |
Relazione
| Rappresentazione JSON |
|---|
{ "dependencyTargets": [ { object ( |
| Campi | |
|---|---|
dependencyTargets[] |
Un elenco di azioni da cui dipende questa azione. |
disabled |
Indica se questa azione è disattivata (ovvero non deve essere eseguita). |
tags[] |
Tag arbitrari definiti dall'utente per questa azione. |
relationDescriptor |
Descrittore della relazione e delle relative colonne. |
relationType |
Il tipo di questa relazione. |
selectQuery |
La query SELECT che restituisce le righe che questa relazione deve contenere. |
preOperations[] |
Istruzioni SQL da eseguire prima di creare la relazione. |
postOperations[] |
Istruzioni SQL da eseguire dopo la creazione della relazione. |
incrementalTableConfig |
Configura le impostazioni di |
partitionExpression |
L'espressione SQL utilizzata per partizionare la relazione. |
clusterExpressions[] |
Un elenco di colonne o espressioni SQL utilizzate per raggruppare la tabella. |
partitionExpirationDays |
Imposta la scadenza della partizione in giorni. |
requirePartitionFilter |
Specifica se le query su questa tabella devono includere un filtro predicato che filtra in base alla colonna di partizionamento. |
additionalOptions |
Opzioni aggiuntive che verranno fornite come coppie chiave/valore nella clausola options di un'istruzione create table/view. Per saperne di più sulle opzioni supportate, consulta la pagina https://cloud.google.com/bigquery/docs/reference/standard-sql/data-definition-language. Un oggetto contenente un elenco di coppie |
connection |
Facoltativo. La connessione che specifica le credenziali da utilizzare per leggere e scrivere nell'archiviazione esterna, ad esempio Cloud Storage. La connessione può avere il formato |
tableFormat |
Facoltativo. Il formato della tabella BigQuery. |
fileFormat |
Facoltativo. Il formato del file per la tabella BigQuery. |
storageUri |
Facoltativo. Il prefisso della posizione completamente qualificata della cartella esterna in cui sono archiviati i dati della tabella. L'URI deve essere nel formato |
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 |
RelationDescriptor
| Rappresentazione JSON |
|---|
{
"description": string,
"columns": [
{
object ( |
| Campi | |
|---|---|
description |
Una descrizione testuale della relazione. |
columns[] |
Un elenco di descrizioni delle colonne all'interno della relazione. |
bigqueryLabels |
Un insieme di etichette BigQuery da applicare alla relazione. Un oggetto contenente un elenco di coppie |
ColumnDescriptor
| Rappresentazione JSON |
|---|
{ "path": [ string ], "description": string, "bigqueryPolicyTags": [ string ] } |
| Campi | |
|---|---|
path[] |
L'identificatore della colonna. Ogni voce in |
description |
Una descrizione testuale della colonna. |
bigqueryPolicyTags[] |
Un elenco di tag di criteri BigQuery che verranno applicati alla colonna. |
BigqueryLabelsEntry
| Rappresentazione JSON |
|---|
{ "key": string, "value": string } |
| Campi | |
|---|---|
key |
|
value |
|
IncrementalTableConfig
| Rappresentazione JSON |
|---|
{ "incrementalSelectQuery": string, "refreshDisabled": boolean, "uniqueKeyParts": [ string ], "updatePartitionFilter": string, "incrementalPreOperations": [ string ], "incrementalPostOperations": [ string ] } |
| Campi | |
|---|---|
incrementalSelectQuery |
La query SELECT che restituisce le righe da inserire nella relazione se esiste già e non viene aggiornata. |
refreshDisabled |
Indica se questa tabella deve essere protetta dall'aggiornamento. |
uniqueKeyParts[] |
Un insieme di colonne o espressioni SQL utilizzate per definire l'univocità delle righe. Se vengono rilevati duplicati (come definito da |
updatePartitionFilter |
Un'espressione SQL condizionale utilizzata per limitare l'insieme di righe esistenti prese in considerazione per un'operazione di unione (vedi |
incrementalPreOperations[] |
Istruzioni SQL da eseguire prima di inserire nuove righe nella relazione. |
incrementalPostOperations[] |
Istruzioni SQL da eseguire dopo l'inserimento di nuove righe nella relazione. |
AdditionalOptionsEntry
| Rappresentazione JSON |
|---|
{ "key": string, "value": string } |
| Campi | |
|---|---|
key |
|
value |
|
Operazioni
| Rappresentazione JSON |
|---|
{ "dependencyTargets": [ { object ( |
| Campi | |
|---|---|
dependencyTargets[] |
Un elenco di azioni da cui dipende questa azione. |
disabled |
Indica se questa azione è disattivata (ovvero non deve essere eseguita). |
tags[] |
Tag arbitrari definiti dall'utente per questa azione. |
relationDescriptor |
Descrittore per qualsiasi relazione di output e le relative colonne. Impostato solo se |
queries[] |
Un elenco di istruzioni SQL arbitrarie che verranno eseguite senza modifiche. |
hasOutput |
Indica se queste operazioni producono una relazione di output. |
Asserzione
| Rappresentazione JSON |
|---|
{ "dependencyTargets": [ { object ( |
| Campi | |
|---|---|
dependencyTargets[] |
Un elenco di azioni da cui dipende questa azione. |
parentAction |
L'azione principale di questa asserzione. Impostato solo se questa asserzione è stata generata automaticamente. |
disabled |
Indica se questa azione è disattivata (ovvero non deve essere eseguita). |
tags[] |
Tag arbitrari definiti dall'utente per questa azione. |
selectQuery |
La query SELECT che deve restituire zero righe affinché questa asserzione abbia esito positivo. |
relationDescriptor |
Descrittore della visualizzazione generata automaticamente dell'asserzione e delle relative colonne. |
Dichiarazione
| Rappresentazione JSON |
|---|
{
"relationDescriptor": {
object ( |
| Campi | |
|---|---|
relationDescriptor |
Descrittore della relazione e delle relative colonne. Utilizzato solo come documentazione, ovvero i valori qui non comporteranno modifiche ai metadati della relazione. |
Notebook
| Rappresentazione JSON |
|---|
{
"dependencyTargets": [
{
object ( |
| Campi | |
|---|---|
dependencyTargets[] |
Un elenco di azioni da cui dipende questa azione. |
disabled |
Indica se questa azione è disattivata (ovvero non deve essere eseguita). |
contents |
I contenuti del notebook. |
tags[] |
Tag arbitrari definiti dall'utente per questa azione. |
DataPreparation
| Rappresentazione JSON |
|---|
{ "dependencyTargets": [ { object ( |
| Campi | |
|---|---|
dependencyTargets[] |
Un elenco di azioni da cui dipende questa azione. |
disabled |
Indica se questa azione è disattivata (ovvero non deve essere eseguita). |
tags[] |
Tag arbitrari definiti dall'utente per questa azione. |
Campo unione definition. La definizione della preparazione dei dati. definition può essere solo uno dei seguenti tipi: |
|
contentsYaml |
La definizione della preparazione dei dati, archiviata come stringa YAML. |
contentsSql |
Definizione SQL per una preparazione dei dati. Contiene una query SQL e informazioni di contesto aggiuntive. |
SqlDefinition
| Rappresentazione JSON |
|---|
{ "query": string, "errorTable": { object ( |
| Campi | |
|---|---|
query |
La query SQL che rappresenta i passaggi di preparazione dei dati. Formattata come istruzione di query SQL Pipe. |
errorTable |
Configurazione della tabella degli errori, |
load |
Carica configurazione. |
ErrorTable
| Rappresentazione JSON |
|---|
{
"target": {
object ( |
| Campi | |
|---|---|
target |
Destinazione della tabella degli errori. |
retentionDays |
Scadenza partizione tabella in giorni. Sono consentiti solo valori positivi. |
LoadConfig
| Rappresentazione JSON |
|---|
{ // Union field |
| Campi | |
|---|---|
Campo unione mode. La modalità di caricamento mode può essere solo una delle seguenti: |
|
replace |
Sostituisci tabella di destinazione |
append |
Aggiungi alla tabella di destinazione |
maximum |
Inserisci i record in cui il valore supera il valore massimo precedente per una colonna nella tabella di destinazione |
unique |
Inserisci record in cui il valore di una colonna non è già presente nella tabella di destinazione |
IncrementalLoadMode
| Rappresentazione JSON |
|---|
{ "column": string } |
| Campi | |
|---|---|
column |
Nome della colonna per le modalità di caricamento incrementale |
RelationType
Indica il tipo di relazione.
| Enum | |
|---|---|
RELATION_TYPE_UNSPECIFIED |
Valore predefinito. Questo valore non viene utilizzato. |
TABLE |
La relazione è una tabella. |
VIEW |
La relazione è una visualizzazione. |
INCREMENTAL_TABLE |
La relazione è una tabella incrementale. |
MATERIALIZED_VIEW |
La relazione è una vista materializzata. |
TableFormat
Formati di tabella supportati per le tabelle BigQuery.
| Enum | |
|---|---|
TABLE_FORMAT_UNSPECIFIED |
Valore predefinito. |
ICEBERG |
Formato Apache Iceberg. |
FileFormat
Formati di file supportati per le tabelle BigQuery.
| Enum | |
|---|---|
FILE_FORMAT_UNSPECIFIED |
Valore predefinito. |
PARQUET |
Formato Apache Parquet. |
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: ❌