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 kode 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 MCP tool specification. } }, "jsonrpc": "2.0", "id": 1 }' |
Skema Input
Pesan permintaan QueryCompilationResultActions.
QueryCompilationResultActionsRequest
| Representasi JSON |
|---|
{ "name": string, "pageSize": integer, "pageToken": string, "filter": string } |
| Kolom | |
|---|---|
name |
Wajib. Nama hasil kompilasi. |
pageSize |
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 |
Opsional. Token halaman yang diterima dari panggilan Saat melakukan penomoran halaman, semua parameter lain yang disediakan untuk |
filter |
Opsional. Filter opsional untuk daftar yang ditampilkan. Saat ini, pemfilteran hanya didukung di kolom |
Skema Output
Pesan respons QueryCompilationResultActions.
QueryCompilationResultActionsResponse
| Representasi JSON |
|---|
{
"compilationResultActions": [
{
object ( |
| Kolom | |
|---|---|
compilationResultActions[] |
Daftar tindakan hasil kompilasi. |
nextPageToken |
Token yang dapat dikirim sebagai |
CompilationResultAction
| Representasi JSON |
|---|
{ "target": { object ( |
| Kolom | |
|---|---|
target |
ID tindakan ini. Unik dalam hasil kompilasi. |
canonicalTarget |
ID tindakan jika project telah dikompilasi tanpa konfigurasi penggantian. Unik dalam hasil kompilasi. |
filePath |
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 |
Relasi database yang dibuat/diperbarui oleh tindakan ini. |
operations |
Operasi database yang dijalankan oleh tindakan ini. |
assertion |
Pernyataan yang dijalankan oleh tindakan ini. |
declaration |
Pernyataan yang dideklarasikan oleh tindakan ini. |
notebook |
Notebook yang dijalankan oleh tindakan ini. |
dataPreparation |
Persiapan data yang dilakukan oleh tindakan ini. |
Kolom union
|
|
internalMetadata |
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 ( |
| Kolom | |
|---|---|
dependencyTargets[] |
Daftar tindakan yang bergantung pada tindakan ini. |
disabled |
Apakah tindakan ini dinonaktifkan (yaitu tidak boleh dijalankan). |
tags[] |
Tag arbitrer yang ditentukan pengguna pada tindakan ini. |
relationDescriptor |
Deskripsi untuk relasi dan kolomnya. |
relationType |
Jenis hubungan ini. |
selectQuery |
Kueri SELECT yang menampilkan baris yang harus berisi relasi ini. |
preOperations[] |
Pernyataan SQL yang akan dieksekusi sebelum membuat relasi. |
postOperations[] |
Pernyataan SQL yang akan dijalankan setelah membuat relasi. |
incrementalTableConfig |
Mengonfigurasi setelan |
partitionExpression |
Ekspresi SQL yang digunakan untuk mempartisi relasi. |
clusterExpressions[] |
Daftar kolom atau ekspresi SQL yang digunakan untuk mengelompokkan tabel. |
partitionExpirationDays |
Menetapkan masa berlaku partisi dalam hari. |
requirePartitionFilter |
Menentukan apakah kueri pada tabel ini harus menyertakan filter predikat yang memfilter kolom partisi. |
additionalOptions |
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 |
connection |
Opsional. Koneksi yang menentukan kredensial yang akan digunakan untuk membaca dan menulis ke penyimpanan eksternal, seperti Cloud Storage. Koneksi dapat memiliki bentuk |
tableFormat |
Opsional. Format tabel untuk tabel BigQuery. |
fileFormat |
Opsional. Format file untuk tabel BigQuery. |
storageUri |
Opsional. Awalan lokasi yang sepenuhnya memenuhi syarat dari folder eksternal tempat data tabel disimpan. URI harus dalam format |
Target
| Representasi JSON |
|---|
{ "database": string, "schema": string, "name": string } |
| Kolom | |
|---|---|
database |
Opsional. Database tindakan (ID project Google Cloud) . |
schema |
Opsional. Skema tindakan (ID set data BigQuery), dalam |
name |
Opsional. Nama tindakan, dalam |
RelationDescriptor
| Representasi JSON |
|---|
{
"description": string,
"columns": [
{
object ( |
| Kolom | |
|---|---|
description |
Deskripsi teks relasi. |
columns[] |
Daftar deskripsi kolom dalam relasi. |
bigqueryLabels |
Kumpulan label BigQuery yang harus diterapkan ke relasi. Objek yang berisi daftar pasangan |
ColumnDescriptor
| Representasi JSON |
|---|
{ "path": [ string ], "description": string, "bigqueryPolicyTags": [ string ] } |
| Kolom | |
|---|---|
path[] |
ID untuk kolom. Setiap entri di |
description |
Deskripsi tekstual kolom. |
bigqueryPolicyTags[] |
Daftar tag kebijakan BigQuery yang akan diterapkan ke kolom. |
BigqueryLabelsEntry
| Representasi JSON |
|---|
{ "key": string, "value": string } |
| Kolom | |
|---|---|
key |
|
value |
|
IncrementalTableConfig
| Representasi JSON |
|---|
{ "incrementalSelectQuery": string, "refreshDisabled": boolean, "uniqueKeyParts": [ string ], "updatePartitionFilter": string, "incrementalPreOperations": [ string ], "incrementalPostOperations": [ string ] } |
| Kolom | |
|---|---|
incrementalSelectQuery |
Kueri SELECT yang menampilkan baris yang harus dimasukkan ke dalam relasi jika sudah ada dan tidak diperbarui. |
refreshDisabled |
Apakah tabel ini harus dilindungi agar tidak diperbarui. |
uniqueKeyParts[] |
Sekumpulan kolom atau ekspresi SQL yang digunakan untuk menentukan keunikan baris. Jika ada duplikat yang ditemukan (seperti yang ditentukan oleh |
updatePartitionFilter |
Kondisi ekspresi SQL yang digunakan untuk membatasi kumpulan baris yang ada yang dipertimbangkan untuk operasi penggabungan (lihat |
incrementalPreOperations[] |
Pernyataan SQL yang akan dieksekusi sebelum menyisipkan baris baru ke dalam relasi. |
incrementalPostOperations[] |
Pernyataan SQL yang akan dieksekusi setelah menyisipkan baris baru ke dalam relasi. |
AdditionalOptionsEntry
| Representasi JSON |
|---|
{ "key": string, "value": string } |
| Kolom | |
|---|---|
key |
|
value |
|
Operasi
| Representasi JSON |
|---|
{ "dependencyTargets": [ { object ( |
| Kolom | |
|---|---|
dependencyTargets[] |
Daftar tindakan yang bergantung pada tindakan ini. |
disabled |
Apakah tindakan ini dinonaktifkan (yaitu tidak boleh dijalankan). |
tags[] |
Tag arbitrer yang ditentukan pengguna pada tindakan ini. |
relationDescriptor |
Deskriptor untuk relasi output dan kolomnya. Hanya disetel jika |
queries[] |
Daftar pernyataan SQL arbitrer yang akan dieksekusi tanpa perubahan. |
hasOutput |
Apakah operasi ini menghasilkan relasi output. |
Pernyataan
| Representasi JSON |
|---|
{ "dependencyTargets": [ { object ( |
| Kolom | |
|---|---|
dependencyTargets[] |
Daftar tindakan yang bergantung pada tindakan ini. |
parentAction |
Tindakan induk pernyataan ini. Hanya disetel jika pernyataan ini dibuat secara otomatis. |
disabled |
Apakah tindakan ini dinonaktifkan (yaitu tidak boleh dijalankan). |
tags[] |
Tag arbitrer yang ditentukan pengguna pada tindakan ini. |
selectQuery |
Kueri SELECT yang harus menampilkan nol baris agar pernyataan ini berhasil. |
relationDescriptor |
Deskriptor untuk tampilan yang dibuat otomatis pada pernyataan dan kolomnya. |
Pernyataan
| Representasi JSON |
|---|
{
"relationDescriptor": {
object ( |
| Kolom | |
|---|---|
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 ( |
| Kolom | |
|---|---|
dependencyTargets[] |
Daftar tindakan yang bergantung pada tindakan ini. |
disabled |
Apakah tindakan ini dinonaktifkan (yaitu tidak boleh dijalankan). |
contents |
Isi notebook. |
tags[] |
Tag arbitrer yang ditentukan pengguna pada tindakan ini. |
DataPreparation
| Representasi JSON |
|---|
{ "dependencyTargets": [ { object ( |
| Kolom | |
|---|---|
dependencyTargets[] |
Daftar tindakan yang bergantung pada tindakan ini. |
disabled |
Apakah tindakan ini dinonaktifkan (yaitu tidak boleh dijalankan). |
tags[] |
Tag arbitrer yang ditentukan pengguna pada tindakan ini. |
Kolom union definition. Definisi untuk penyiapan data. definition hanya ada berupa salah satu diantara berikut: |
|
contentsYaml |
Definisi persiapan data, disimpan sebagai string YAML. |
contentsSql |
Definisi SQL untuk Penyiapan Data. Berisi kueri SQL dan informasi konteks tambahan. |
SqlDefinition
| Representasi JSON |
|---|
{ "query": string, "errorTable": { object ( |
| Kolom | |
|---|---|
query |
Kueri SQL yang merepresentasikan langkah-langkah penyiapan data. Diformat sebagai pernyataan kueri SQL Pipe. |
errorTable |
Konfigurasi tabel error, |
load |
Muat konfigurasi. |
ErrorTable
| Representasi JSON |
|---|
{
"target": {
object ( |
| Kolom | |
|---|---|
target |
Target Tabel Error. |
retentionDays |
Masa berlaku partisi tabel error dalam hari. Hanya nilai positif yang diizinkan. |
LoadConfig
| Representasi JSON |
|---|
{ // Union field |
| Kolom | |
|---|---|
Kolom union mode. Mode pemuatan mode hanya dapat berupa salah satu dari berikut: |
|
replace |
Mengganti tabel tujuan |
append |
Menambahkan ke tabel tujuan |
maximum |
Menyisipkan rekaman yang nilainya melebihi nilai maksimum sebelumnya untuk kolom dalam tabel tujuan |
unique |
Menyisipkan data jika nilai kolom belum ada di tabel tujuan |
IncrementalLoadMode
| Representasi JSON |
|---|
{ "column": string } |
| Kolom | |
|---|---|
column |
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 |
Relasinya 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
Anotasi alat dikirim ke klien MCP untuk menjelaskan risiko dasar alat tertentu. Sebagian besar klien memperlakukan petunjuk ini sebagai tidak tepercaya, tetapi petunjuk ini dapat digunakan untuk memutuskan kapan perintah konfirmasi dapat dikirim ke pengguna.
Selain string judul, petunjuk boolean berikut ditentukan sebagai berikut:
readOnlyHint: Jika benar, alat tidak akan mengubah lingkungannya. Default: false.destructiveHint: Jika benar, alat dapat melakukan tindakan destruktif. Jika salah (false), alat hanya dapat melakukan tindakan tambahan. Default: true.idempotentHint: Jika benar (true), memanggil alat berulang kali dengan argumen yang sama tidak akan memberikan efek tambahan pada lingkungannya. Default: false.openWorldHint: Jika benar, alat dapat berinteraksi dengan 'dunia terbuka' entitas eksternal. Jika salah (false), alat hanya dapat berinteraksi dengan entitas internal. Misalnya, alat penelusuran web akan menjadi open world, sedangkan alat memori tidak akan menjadi open world.
Petunjuk Destruktif: ❌ | Petunjuk Idempoten: ✅ | Petunjuk Hanya Baca: ✅ | Petunjuk Dunia Terbuka: ❌