MCP Tools Reference: dataform.googleapis.com

Alat: query_compilation_actions

Menampilkan tindakan hasil kompilasi untuk hasil kompilasi Dataform tertentu.

Nilai parameter name harus dalam format projects/{project_id}/locations/{location}/repositories/{repository}/compilationResults/{compilation_result}.

Contoh berikut menunjukkan cara menggunakan curl untuk memanggil alat MCP query_compilation_actions.

Permintaan 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 tool's MCP specification
    }
  },
  "jsonrpc": "2.0",
  "id": 1
}'
                

Skema Input

Pesan permintaan QueryCompilationResultActions.

QueryCompilationResultActionsRequest

Representasi JSON
{
  "name": string,
  "pageSize": integer,
  "pageToken": string,
  "filter": string
}
Kolom
name

string

Wajib. Nama hasil kompilasi.

pageSize

integer

Opsional. Jumlah maksimum hasil kompilasi yang akan ditampilkan. Server dapat menampilkan lebih sedikit item daripada yang diminta. Jika tidak ditentukan, server akan memilih default yang sesuai.

pageToken

string

Opsional. Token halaman yang diterima dari panggilan QueryCompilationResultActions sebelumnya. Berikan ini untuk mengambil halaman selanjutnya.

Saat melakukan penomoran halaman, semua parameter lain yang disediakan untuk QueryCompilationResultActions, kecuali page_size, harus sesuai dengan panggilan yang menyediakan token halaman.

filter

string

Opsional. Filter opsional untuk daftar yang ditampilkan. Saat ini, pemfilteran hanya didukung di kolom file_path.

Skema Output

Pesan respons QueryCompilationResultActions.

QueryCompilationResultActionsResponse

Representasi JSON
{
  "compilationResultActions": [
    {
      object (CompilationResultAction)
    }
  ],
  "nextPageToken": string
}
Kolom
compilationResultActions[]

object (CompilationResultAction)

Daftar tindakan hasil kompilasi.

nextPageToken

string

Token yang dapat dikirim sebagai page_token untuk mengambil halaman berikutnya. Jika kolom ini dihilangkan, tidak akan ada halaman berikutnya.

CompilationResultAction

Representasi JSON
{
  "target": {
    object (Target)
  },
  "canonicalTarget": {
    object (Target)
  },
  "filePath": string,

  // Union field compiled_object can be only one of the following:
  "relation": {
    object (Relation)
  },
  "operations": {
    object (Operations)
  },
  "assertion": {
    object (Assertion)
  },
  "declaration": {
    object (Declaration)
  },
  "notebook": {
    object (Notebook)
  },
  "dataPreparation": {
    object (DataPreparation)
  }
  // End of list of possible types for union field compiled_object.

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

object (Target)

ID tindakan ini. Unik dalam hasil kompilasi.

canonicalTarget

object (Target)

ID tindakan jika project telah dikompilasi tanpa konfigurasi penggantian. Unik dalam hasil kompilasi.

filePath

string

Jalur lengkap termasuk nama file tempat tindakan ini berada, relatif terhadap root ruang kerja.

Kolom union compiled_object. Objek yang dikompilasi. compiled_object hanya ada berupa salah satu diantara berikut:
relation

object (Relation)

Relasi database yang dibuat/diperbarui oleh tindakan ini.

operations

object (Operations)

Operasi database yang dijalankan oleh tindakan ini.

assertion

object (Assertion)

Pernyataan yang dijalankan oleh tindakan ini.

declaration

object (Declaration)

Pernyataan yang dideklarasikan oleh tindakan ini.

notebook

object (Notebook)

Notebook yang dijalankan oleh tindakan ini.

dataPreparation

object (DataPreparation)

Persiapan data yang dilakukan oleh tindakan ini.

Kolom union _internal_metadata.

_internal_metadata hanya dapat berupa salah satu dari hal berikut:

internalMetadata

string

Hanya output. Semua informasi metadata yang digunakan secara internal untuk menayangkan resource. Misalnya: stempel waktu, tanda, kolom status, dll. Format kolom ini adalah string JSON.

Hubungan

Representasi JSON
{
  "dependencyTargets": [
    {
      object (Target)
    }
  ],
  "disabled": boolean,
  "tags": [
    string
  ],
  "relationDescriptor": {
    object (RelationDescriptor)
  },
  "relationType": enum (RelationType),
  "selectQuery": string,
  "preOperations": [
    string
  ],
  "postOperations": [
    string
  ],
  "incrementalTableConfig": {
    object (IncrementalTableConfig)
  },
  "partitionExpression": string,
  "clusterExpressions": [
    string
  ],
  "partitionExpirationDays": integer,
  "requirePartitionFilter": boolean,
  "additionalOptions": {
    string: string,
    ...
  },
  "connection": string,
  "tableFormat": enum (TableFormat),
  "fileFormat": enum (FileFormat),
  "storageUri": string
}
Kolom
dependencyTargets[]

object (Target)

Daftar tindakan yang bergantung pada tindakan ini.

disabled

boolean

Apakah tindakan ini dinonaktifkan (yaitu tidak boleh dijalankan).

tags[]

string

Tag arbitrer yang ditentukan pengguna pada tindakan ini.

relationDescriptor

object (RelationDescriptor)

Deskripsi untuk relasi dan kolomnya.

relationType

enum (RelationType)

Jenis hubungan ini.

selectQuery

string

Kueri SELECT yang menampilkan baris yang harus berisi relasi ini.

preOperations[]

string

Pernyataan SQL yang akan dieksekusi sebelum membuat relasi.

postOperations[]

string

Pernyataan SQL yang akan dijalankan setelah membuat relasi.

incrementalTableConfig

object (IncrementalTableConfig)

Mengonfigurasi setelan INCREMENTAL_TABLE untuk hubungan ini. Hanya disetel jika relation_type adalah INCREMENTAL_TABLE.

partitionExpression

string

Ekspresi SQL yang digunakan untuk mempartisi relasi.

clusterExpressions[]

string

Daftar kolom atau ekspresi SQL yang digunakan untuk mengelompokkan tabel.

partitionExpirationDays

integer

Menetapkan masa berlaku partisi dalam hari.

requirePartitionFilter

boolean

Menentukan apakah kueri pada tabel ini harus menyertakan filter predikat yang memfilter kolom partisi.

additionalOptions

map (key: string, value: string)

Opsi tambahan yang akan diberikan sebagai pasangan kunci/nilai ke dalam klausa opsi pernyataan buat tabel/tampilan. Lihat https://cloud.google.com/bigquery/docs/reference/standard-sql/data-definition-language untuk mengetahui informasi selengkapnya tentang opsi yang didukung.

Objek yang berisi daftar pasangan "key": value. Contoh: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

connection

string

Opsional. Koneksi yang menentukan kredensial yang akan digunakan untuk membaca dan menulis ke penyimpanan eksternal, seperti Cloud Storage. Koneksi dapat memiliki bentuk {project}.{location}.{connection_id} atau projects/{project}/locations/{location}/connections/{connection_id}, atau ditetapkan ke DEFAULT.

tableFormat

enum (TableFormat)

Opsional. Format tabel untuk tabel BigQuery.

fileFormat

enum (FileFormat)

Opsional. Format file untuk tabel BigQuery.

storageUri

string

Opsional. Awalan lokasi yang sepenuhnya memenuhi syarat dari folder eksternal tempat data tabel disimpan. URI harus dalam format gs://bucket/path_to_table/.

Target

Representasi JSON
{
  "database": string,
  "schema": string,
  "name": string
}
Kolom
database

string

Opsional. Database tindakan (ID project Google Cloud) .

schema

string

Opsional. Skema tindakan (ID set data BigQuery), dalam database.

name

string

Opsional. Nama tindakan, dalam database dan schema.

RelationDescriptor

Representasi JSON
{
  "description": string,
  "columns": [
    {
      object (ColumnDescriptor)
    }
  ],
  "bigqueryLabels": {
    string: string,
    ...
  }
}
Kolom
description

string

Deskripsi teks relasi.

columns[]

object (ColumnDescriptor)

Daftar deskripsi kolom dalam relasi.

bigqueryLabels

map (key: string, value: string)

Sekumpulan label BigQuery yang harus diterapkan ke relasi.

Objek yang berisi daftar pasangan "key": value. Contoh: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

ColumnDescriptor

Representasi JSON
{
  "path": [
    string
  ],
  "description": string,
  "bigqueryPolicyTags": [
    string
  ]
}
Kolom
path[]

string

ID untuk kolom. Setiap entri di path mewakili satu tingkat tingkatan.

description

string

Deskripsi tekstual kolom.

bigqueryPolicyTags[]

string

Daftar tag kebijakan BigQuery yang akan diterapkan ke kolom.

BigqueryLabelsEntry

Representasi JSON
{
  "key": string,
  "value": string
}
Kolom
key

string

value

string

IncrementalTableConfig

Representasi JSON
{
  "incrementalSelectQuery": string,
  "refreshDisabled": boolean,
  "uniqueKeyParts": [
    string
  ],
  "updatePartitionFilter": string,
  "incrementalPreOperations": [
    string
  ],
  "incrementalPostOperations": [
    string
  ]
}
Kolom
incrementalSelectQuery

string

Kueri SELECT yang menampilkan baris yang harus dimasukkan ke dalam relasi jika sudah ada dan tidak diperbarui.

refreshDisabled

boolean

Apakah tabel ini harus dilindungi agar tidak dimuat ulang.

uniqueKeyParts[]

string

Kumpulan kolom atau ekspresi SQL yang digunakan untuk menentukan keunikan baris. Jika ada duplikat yang ditemukan (seperti yang ditentukan oleh unique_key_parts), hanya baris yang baru dipilih (seperti yang ditentukan oleh incremental_select_query) yang akan disertakan dalam relasi.

updatePartitionFilter

string

Kondisional ekspresi SQL yang digunakan untuk membatasi kumpulan baris yang ada yang dipertimbangkan untuk operasi penggabungan (lihat unique_key_parts untuk mengetahui informasi selengkapnya).

incrementalPreOperations[]

string

Pernyataan SQL yang akan dieksekusi sebelum menyisipkan baris baru ke dalam relasi.

incrementalPostOperations[]

string

Pernyataan SQL yang akan dieksekusi setelah menyisipkan baris baru ke dalam relasi.

AdditionalOptionsEntry

Representasi JSON
{
  "key": string,
  "value": string
}
Kolom
key

string

value

string

Operasi

Representasi JSON
{
  "dependencyTargets": [
    {
      object (Target)
    }
  ],
  "disabled": boolean,
  "tags": [
    string
  ],
  "relationDescriptor": {
    object (RelationDescriptor)
  },
  "queries": [
    string
  ],
  "hasOutput": boolean
}
Kolom
dependencyTargets[]

object (Target)

Daftar tindakan yang bergantung pada tindakan ini.

disabled

boolean

Apakah tindakan ini dinonaktifkan (yaitu tidak boleh dijalankan).

tags[]

string

Tag arbitrer yang ditentukan pengguna pada tindakan ini.

relationDescriptor

object (RelationDescriptor)

Deskriptor untuk relasi output dan kolomnya. Hanya disetel jika has_output benar.

queries[]

string

Daftar pernyataan SQL arbitrer yang akan dieksekusi tanpa perubahan.

hasOutput

boolean

Apakah operasi ini menghasilkan relasi output.

Pernyataan

Representasi JSON
{
  "dependencyTargets": [
    {
      object (Target)
    }
  ],
  "parentAction": {
    object (Target)
  },
  "disabled": boolean,
  "tags": [
    string
  ],
  "selectQuery": string,
  "relationDescriptor": {
    object (RelationDescriptor)
  }
}
Kolom
dependencyTargets[]

object (Target)

Daftar tindakan yang bergantung pada tindakan ini.

parentAction

object (Target)

Tindakan induk pernyataan ini. Hanya disetel jika pernyataan ini dibuat secara otomatis.

disabled

boolean

Apakah tindakan ini dinonaktifkan (yaitu tidak boleh dijalankan).

tags[]

string

Tag arbitrer yang ditentukan pengguna pada tindakan ini.

selectQuery

string

Kueri SELECT yang harus menampilkan nol baris agar pernyataan ini berhasil.

relationDescriptor

object (RelationDescriptor)

Deskriptor untuk tampilan yang dibuat otomatis dan kolomnya.

Pernyataan

Representasi JSON
{
  "relationDescriptor": {
    object (RelationDescriptor)
  }
}
Kolom
relationDescriptor

object (RelationDescriptor)

Deskripsi untuk relasi dan kolomnya. Digunakan hanya sebagai dokumentasi, yaitu nilai di sini tidak akan menyebabkan perubahan pada metadata hubungan.

Notebook

Representasi JSON
{
  "dependencyTargets": [
    {
      object (Target)
    }
  ],
  "disabled": boolean,
  "contents": string,
  "tags": [
    string
  ]
}
Kolom
dependencyTargets[]

object (Target)

Daftar tindakan yang bergantung pada tindakan ini.

disabled

boolean

Apakah tindakan ini dinonaktifkan (yaitu tidak boleh dijalankan).

contents

string

Isi notebook.

tags[]

string

Tag arbitrer yang ditentukan pengguna pada tindakan ini.

DataPreparation

Representasi JSON
{
  "dependencyTargets": [
    {
      object (Target)
    }
  ],
  "disabled": boolean,
  "tags": [
    string
  ],

  // Union field definition can be only one of the following:
  "contentsYaml": string,
  "contentsSql": {
    object (SqlDefinition)
  }
  // End of list of possible types for union field definition.
}
Kolom
dependencyTargets[]

object (Target)

Daftar tindakan yang bergantung pada tindakan ini.

disabled

boolean

Apakah tindakan ini dinonaktifkan (yaitu tidak boleh dijalankan).

tags[]

string

Tag arbitrer yang ditentukan pengguna pada tindakan ini.

Kolom union definition. Definisi untuk penyiapan data. definition hanya ada berupa salah satu diantara berikut:
contentsYaml

string

Definisi persiapan data, disimpan sebagai string YAML.

contentsSql

object (SqlDefinition)

Definisi SQL untuk Penyiapan Data. Berisi kueri SQL dan informasi konteks tambahan.

SqlDefinition

Representasi JSON
{
  "query": string,
  "errorTable": {
    object (ErrorTable)
  },
  "load": {
    object (LoadConfig)
  }
}
Kolom
query

string

Kueri SQL yang merepresentasikan langkah-langkah penyiapan data. Diformat sebagai pernyataan kueri SQL Pipe.

errorTable

object (ErrorTable)

Konfigurasi tabel error,

load

object (LoadConfig)

Muat konfigurasi.

ErrorTable

Representasi JSON
{
  "target": {
    object (Target)
  },
  "retentionDays": integer
}
Kolom
target

object (Target)

Target Tabel Error.

retentionDays

integer

Masa berlaku partisi tabel error dalam hari. Hanya nilai positif yang diizinkan.

LoadConfig

Representasi JSON
{

  // Union field mode can be only one of the following:
  "replace": {
    object (SimpleLoadMode)
  },
  "append": {
    object (SimpleLoadMode)
  },
  "maximum": {
    object (IncrementalLoadMode)
  },
  "unique": {
    object (IncrementalLoadMode)
  }
  // End of list of possible types for union field mode.
}
Kolom
Kolom union mode. Mode pemuatan mode hanya dapat berupa salah satu dari berikut:
replace

object (SimpleLoadMode)

Mengganti tabel tujuan

append

object (SimpleLoadMode)

Menambahkan ke tabel tujuan

maximum

object (IncrementalLoadMode)

Menyisipkan rekaman yang nilainya melebihi nilai maksimum sebelumnya untuk kolom dalam tabel tujuan

unique

object (IncrementalLoadMode)

Menyisipkan data jika nilai kolom belum ada di tabel tujuan

IncrementalLoadMode

Representasi JSON
{
  "column": string
}
Kolom
column

string

Nama kolom untuk mode pemuatan inkremental

RelationType

Menunjukkan jenis hubungan ini.

Enum
RELATION_TYPE_UNSPECIFIED Nilai default. Nilai ini tidak digunakan.
TABLE Relasinya adalah tabel.
VIEW Relasi adalah tampilan.
INCREMENTAL_TABLE Relasinya adalah tabel inkremental.
MATERIALIZED_VIEW Relasi adalah tampilan terwujud.

TableFormat

Format tabel yang didukung untuk tabel BigQuery.

Enum
TABLE_FORMAT_UNSPECIFIED Nilai default.
ICEBERG Format Apache Iceberg.

FileFormat

Format file yang didukung untuk tabel BigQuery.

Enum
FILE_FORMAT_UNSPECIFIED Nilai default.
PARQUET Format Apache Parquet.

Anotasi Alat

Petunjuk Destruktif: ❌ | Petunjuk Idempoten: ✅ | Petunjuk Hanya Baca: ✅ | Petunjuk Dunia Terbuka: ❌