MCP Tools Reference: dataform.googleapis.com

Alat: create_workflow_invocation

Buat pemanggilan alur kerja baru di repositori Dataform tertentu.

Nilai parameter parent harus dalam format projects/{project_id}/locations/{location}/repositories/{repository}.

Nilai parameter compilation_result atau workflow_config wajib ada.

  • Jika menggunakan compilation_result, nilai parameter harus dalam format projects/{project_id}/locations/{location}/repositories/{repository}/compilationResults/{compilation_result}.
  • Jika menggunakan workflow_config, nilai parameter harus dalam format projects/{project_id}/locations/{location}/repositories/{repository}/workflowConfigs/{workflow_config}.

Prasyarat: Untuk memicu pemanggilan, Anda harus membuat compilation_result terlebih dahulu menggunakan alat create_compilation_result atau workflow_config menggunakan alat create_workflow_config. Anda tidak dapat memicu pemanggilan langsung dari kode repositori mentah.

Pemanggilan alur kerja berjalan di akun layanan yang ditentukan oleh sumber kompilasi:

  • Jika menggunakan compilation_result, tetapkan nilai parameter invocationConfig.serviceAccount. Jika dihilangkan, service_account default repositori akan digunakan.
  • Jika menggunakan workflow_config, jangan tetapkan parameter invocationConfig. Pemanggilan akan otomatis berjalan di akun layanan yang dikonfigurasi pada konfigurasi alur kerja tersebut.

Akun layanan tidak boleh menjadi agen layanan Dataform default. Akun layanan harus memiliki izin yang diperlukan untuk menjalankan alur kerja, dan pengguna harus diizinkan untuk bertindak sebagai akun layanan yang dipilih. Otorisasi ini biasanya diberikan melalui peran Pengguna Akun Layanan (roles/iam.serviceAccountUser), yang dapat diberikan pada akun layanan itu sendiri atau pada project yang memuatnya.

Contoh kode berikut menunjukkan cara menggunakan curl untuk memanggil alat MCP create_workflow_invocation.

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": "create_workflow_invocation",
    "arguments": {
      // Provide these details according to the MCP tool specification.
    }
  },
  "jsonrpc": "2.0",
  "id": 1
}'

Skema Input

Pesan permintaan CreateWorkflowInvocation.

CreateWorkflowInvocationRequest

Representasi JSON
{
  "parent": string,
  "workflowInvocation": {
    object (WorkflowInvocation)
  }
}
Kolom
parent

string

Wajib. Repositori tempat membuat pemanggilan alur kerja. Harus dalam format projects/*/locations/*/repositories/*.

workflowInvocation

object (WorkflowInvocation)

Wajib. Resource pemanggilan alur kerja yang akan dibuat.

WorkflowInvocation

Representasi JSON
{
  "name": string,
  "invocationConfig": {
    object (InvocationConfig)
  },
  "state": enum (State),
  "invocationTiming": {
    object (Interval)
  },
  "resolvedCompilationResult": string,
  "dataEncryptionState": {
    object (DataEncryptionState)
  },
  "privateResourceMetadata": {
    object (PrivateResourceMetadata)
  },
  "pipelineConfig": {
    object (PipelineConfig)
  },

  // Union field compilation_source can be only one of the following:
  "compilationResult": string,
  "workflowConfig": string
  // End of list of possible types for union field compilation_source.

  // 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
name

string

Hanya output. Nama pemanggilan alur kerja.

invocationConfig

object (InvocationConfig)

Tidak dapat diubah. Jika tidak disetel, InvocationConfig default akan digunakan.

state

enum (State)

Hanya output. Status saat ini dari pemanggilan alur kerja ini.

invocationTiming

object (Interval)

Hanya output. Detail waktu pemanggilan alur kerja ini.

resolvedCompilationResult

string

Hanya output. Hasil kompilasi yang di-resolve yang digunakan untuk membuat pemanggilan ini. Akan dalam format projects/*/locations/*/repositories/*/compilationResults/*.

dataEncryptionState

object (DataEncryptionState)

Hanya output. Hanya disetel jika repositori memiliki Kunci KMS.

privateResourceMetadata

object (PrivateResourceMetadata)

Hanya output. Metadata yang menunjukkan apakah resource ini tercakup dalam cakupan pengguna. Resource WorkflowInvocation adalah user_scoped hanya jika berasal dari hasil kompilasi dan hasil kompilasi tersebut memiliki cakupan pengguna.

pipelineConfig

object (PipelineConfig)

Hanya output. Opsi pipeline yang menentukan jenis dan jalur pipeline dalam repositori Git.

Kolom union compilation_source. Sumber hasil kompilasi yang akan digunakan untuk pemanggilan ini. compilation_source hanya ada berupa salah satu diantara berikut:
compilationResult

string

Tidak dapat diubah. Nama hasil kompilasi yang akan digunakan untuk pemanggilan ini. Harus dalam format projects/*/locations/*/repositories/*/compilationResults/*.

workflowConfig

string

Tidak dapat diubah. Nama konfigurasi alur kerja yang akan dipanggil. Harus dalam format projects/*/locations/*/repositories/*/workflowConfigs/*.

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.

InvocationConfig

Representasi JSON
{
  "includedTargets": [
    {
      object (Target)
    }
  ],
  "includedTags": [
    string
  ],
  "transitiveDependenciesIncluded": boolean,
  "transitiveDependentsIncluded": boolean,
  "fullyRefreshIncrementalTablesEnabled": boolean,
  "serviceAccount": string,

  // Union field _query_priority can be only one of the following:
  "queryPriority": enum (QueryPriority)
  // End of list of possible types for union field _query_priority.
}
Kolom
includedTargets[]

object (Target)

Opsional. Kumpulan ID tindakan yang akan disertakan.

includedTags[]

string

Opsional. Kumpulan tag yang akan disertakan.

transitiveDependenciesIncluded

boolean

Opsional. Jika disetel ke benar (true), dependensi transitif dari tindakan yang disertakan akan dieksekusi.

transitiveDependentsIncluded

boolean

Opsional. Jika disetel ke benar (true), dependen transitif dari tindakan yang disertakan akan dieksekusi.

fullyRefreshIncrementalTablesEnabled

boolean

Opsional. Jika ditetapkan ke benar (true), semua tabel inkremental akan di-refresh sepenuhnya.

serviceAccount

string

Opsional. Akun layanan yang akan menjalankan pemanggilan alur kerja.

Kolom union _query_priority.

_query_priority hanya dapat berupa salah satu dari hal berikut:

queryPriority

enum (QueryPriority)

Opsional. Menentukan prioritas untuk eksekusi kueri di BigQuery. Informasi selengkapnya dapat ditemukan di https://cloud.google.com/bigquery/docs/running-queries#queries.

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.

Interval

Representasi JSON
{
  "startTime": string,
  "endTime": string
}
Kolom
startTime

string (Timestamp format)

Opsional. Waktu mulai interval inklusif.

Jika ditentukan, Stempel Waktu yang cocok dengan interval ini harus sama dengan atau setelah waktu mulai.

Menggunakan RFC 3339 yang outputnya akan selalu dinormalisasi Z dan menggunakan 0, 3, 6, atau 9 digit pecahan. Offset selain "Z" juga diterima. Contoh: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z", atau "2014-10-02T15:01:23+05:30".

endTime

string (Timestamp format)

Opsional. Akhir interval eksklusif.

Jika ditentukan, Stempel Waktu yang cocok dengan interval ini harus sebelum waktu berakhir.

Menggunakan RFC 3339 yang outputnya akan selalu dinormalisasi Z dan menggunakan 0, 3, 6, atau 9 digit pecahan. Offset selain "Z" juga diterima. Contoh: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z", atau "2014-10-02T15:01:23+05:30".

Stempel waktu

Representasi JSON
{
  "seconds": string,
  "nanos": integer
}
Kolom
seconds

string (int64 format)

Mewakili detik waktu UTC sejak epoch Unix 1970-01-01T00:00:00Z. Harus antara -62135596800 dan 253402300799 inklusif (yang sesuai dengan 0001-01-01T00:00:00Z hingga 9999-12-31T23:59:59Z).

nanos

integer

Pecahan detik non-negatif pada resolusi nanodetik. Kolom ini adalah bagian nanodetik dari durasi, bukan alternatif untuk detik. Nilai detik negatif dengan pecahan harus tetap memiliki nilai nanos non-negatif yang dihitung maju dalam waktu. Harus antara 0 dan 999.999.999 inklusif.

DataEncryptionState

Representasi JSON
{
  "kmsKeyVersionName": string
}
Kolom
kmsKeyVersionName

string

Wajib. Nama versi kunci KMS yang digunakan untuk mengenkripsi data resource.

PrivateResourceMetadata

Representasi JSON
{
  "userScoped": boolean
}
Kolom
userScoped

boolean

Hanya output. Jika benar (true), resource ini memiliki cakupan pengguna, yang berarti resource ini berasal dari ruang kerja atau merupakan ruang kerja.

PipelineConfig

Representasi JSON
{
  "pipelineType": enum (PipelineType),
  "path": string
}
Kolom
pipelineType

enum (PipelineType)

Wajib. Jenis pipeline.

path

string

Wajib. Jalur relatif dalam repositori Git tempat pipeline ditentukan. Misalnya, untuk pipeline Dataform, ini adalah jalur ke folder tempat workflow_settings.yaml atau dataform.json berada.

QueryPriority

Jenis prioritas untuk eksekusi kueri di BigQuery.

Enum
QUERY_PRIORITY_UNSPECIFIED Nilai default. Nilai ini tidak digunakan.
INTERACTIVE Kueri akan dieksekusi di BigQuery dengan prioritas interaktif. Informasi selengkapnya dapat ditemukan di https://cloud.google.com/bigquery/docs/running-queries#queries.
BATCH Kueri akan dieksekusi di BigQuery dengan prioritas batch. Informasi selengkapnya dapat ditemukan di https://cloud.google.com/bigquery/docs/running-queries#batchqueries.

Negara Bagian

Menunjukkan status pemanggilan alur kerja saat ini.

Enum
STATE_UNSPECIFIED Nilai default. Nilai ini tidak digunakan.
RUNNING Pemanggilan alur kerja saat ini sedang berjalan.
SUCCEEDED Pemanggilan alur kerja berhasil. Status terminal.
CANCELLED Pemanggilan alur kerja dibatalkan. Status terminal.
FAILED Pemanggilan alur kerja gagal. Status terminal.
CANCELING Pemanggilan alur kerja sedang dibatalkan, tetapi beberapa tindakan masih berjalan.

PipelineType

Jenis pipeline. Periode ini dapat diperpanjang pada masa mendatang. Jika UNSPECIFIED, error akan ditampilkan.

Enum
PIPELINE_TYPE_UNSPECIFIED Nilai default. Nilai ini tidak digunakan.
DATAFORM Pipeline Dataform reguler.
SQL Aset file tunggal SQL.
NOTEBOOK Aset file tunggal notebook.

Skema Output

Mewakili satu pemanggilan hasil kompilasi.

WorkflowInvocation

Representasi JSON
{
  "name": string,
  "invocationConfig": {
    object (InvocationConfig)
  },
  "state": enum (State),
  "invocationTiming": {
    object (Interval)
  },
  "resolvedCompilationResult": string,
  "dataEncryptionState": {
    object (DataEncryptionState)
  },
  "privateResourceMetadata": {
    object (PrivateResourceMetadata)
  },
  "pipelineConfig": {
    object (PipelineConfig)
  },

  // Union field compilation_source can be only one of the following:
  "compilationResult": string,
  "workflowConfig": string
  // End of list of possible types for union field compilation_source.

  // 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
name

string

Hanya output. Nama pemanggilan alur kerja.

invocationConfig

object (InvocationConfig)

Tidak dapat diubah. Jika tidak disetel, InvocationConfig default akan digunakan.

state

enum (State)

Hanya output. Status saat ini dari pemanggilan alur kerja ini.

invocationTiming

object (Interval)

Hanya output. Detail waktu pemanggilan alur kerja ini.

resolvedCompilationResult

string

Hanya output. Hasil kompilasi yang di-resolve yang digunakan untuk membuat pemanggilan ini. Akan dalam format projects/*/locations/*/repositories/*/compilationResults/*.

dataEncryptionState

object (DataEncryptionState)

Hanya output. Hanya disetel jika repositori memiliki Kunci KMS.

privateResourceMetadata

object (PrivateResourceMetadata)

Hanya output. Metadata yang menunjukkan apakah resource ini tercakup dalam cakupan pengguna. Resource WorkflowInvocation adalah user_scoped hanya jika berasal dari hasil kompilasi dan hasil kompilasi tersebut memiliki cakupan pengguna.

pipelineConfig

object (PipelineConfig)

Hanya output. Opsi pipeline yang menentukan jenis dan jalur pipeline dalam repositori Git.

Kolom union compilation_source. Sumber hasil kompilasi yang akan digunakan untuk pemanggilan ini. compilation_source hanya ada berupa salah satu diantara berikut:
compilationResult

string

Tidak dapat diubah. Nama hasil kompilasi yang akan digunakan untuk pemanggilan ini. Harus dalam format projects/*/locations/*/repositories/*/compilationResults/*.

workflowConfig

string

Tidak dapat diubah. Nama konfigurasi alur kerja yang akan dipanggil. Harus dalam format projects/*/locations/*/repositories/*/workflowConfigs/*.

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.

InvocationConfig

Representasi JSON
{
  "includedTargets": [
    {
      object (Target)
    }
  ],
  "includedTags": [
    string
  ],
  "transitiveDependenciesIncluded": boolean,
  "transitiveDependentsIncluded": boolean,
  "fullyRefreshIncrementalTablesEnabled": boolean,
  "serviceAccount": string,

  // Union field _query_priority can be only one of the following:
  "queryPriority": enum (QueryPriority)
  // End of list of possible types for union field _query_priority.
}
Kolom
includedTargets[]

object (Target)

Opsional. Kumpulan ID tindakan yang akan disertakan.

includedTags[]

string

Opsional. Kumpulan tag yang akan disertakan.

transitiveDependenciesIncluded

boolean

Opsional. Jika disetel ke benar (true), dependensi transitif dari tindakan yang disertakan akan dieksekusi.

transitiveDependentsIncluded

boolean

Opsional. Jika disetel ke benar (true), dependen transitif dari tindakan yang disertakan akan dieksekusi.

fullyRefreshIncrementalTablesEnabled

boolean

Opsional. Jika ditetapkan ke benar (true), semua tabel inkremental akan di-refresh sepenuhnya.

serviceAccount

string

Opsional. Akun layanan yang akan menjalankan pemanggilan alur kerja.

Kolom union _query_priority.

_query_priority hanya dapat berupa salah satu dari hal berikut:

queryPriority

enum (QueryPriority)

Opsional. Menentukan prioritas untuk eksekusi kueri di BigQuery. Informasi selengkapnya dapat ditemukan di https://cloud.google.com/bigquery/docs/running-queries#queries.

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.

Interval

Representasi JSON
{
  "startTime": string,
  "endTime": string
}
Kolom
startTime

string (Timestamp format)

Opsional. Waktu mulai interval inklusif.

Jika ditentukan, Stempel Waktu yang cocok dengan interval ini harus sama dengan atau setelah waktu mulai.

Menggunakan RFC 3339 yang outputnya akan selalu dinormalisasi Z dan menggunakan 0, 3, 6, atau 9 digit pecahan. Offset selain "Z" juga diterima. Contoh: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z", atau "2014-10-02T15:01:23+05:30".

endTime

string (Timestamp format)

Opsional. Akhir interval eksklusif.

Jika ditentukan, Stempel Waktu yang cocok dengan interval ini harus sebelum waktu berakhir.

Menggunakan RFC 3339 yang outputnya akan selalu dinormalisasi Z dan menggunakan 0, 3, 6, atau 9 digit pecahan. Offset selain "Z" juga diterima. Contoh: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z", atau "2014-10-02T15:01:23+05:30".

Stempel waktu

Representasi JSON
{
  "seconds": string,
  "nanos": integer
}
Kolom
seconds

string (int64 format)

Mewakili detik waktu UTC sejak epoch Unix 1970-01-01T00:00:00Z. Harus antara -62135596800 dan 253402300799 inklusif (yang sesuai dengan 0001-01-01T00:00:00Z hingga 9999-12-31T23:59:59Z).

nanos

integer

Pecahan detik non-negatif pada resolusi nanodetik. Kolom ini adalah bagian nanodetik dari durasi, bukan alternatif untuk detik. Nilai detik negatif dengan pecahan harus tetap memiliki nilai nanos non-negatif yang dihitung maju dalam waktu. Harus antara 0 dan 999.999.999 inklusif.

DataEncryptionState

Representasi JSON
{
  "kmsKeyVersionName": string
}
Kolom
kmsKeyVersionName

string

Wajib. Nama versi kunci KMS yang digunakan untuk mengenkripsi data resource.

PrivateResourceMetadata

Representasi JSON
{
  "userScoped": boolean
}
Kolom
userScoped

boolean

Hanya output. Jika benar (true), resource ini memiliki cakupan pengguna, yang berarti resource ini berasal dari ruang kerja atau merupakan ruang kerja.

PipelineConfig

Representasi JSON
{
  "pipelineType": enum (PipelineType),
  "path": string
}
Kolom
pipelineType

enum (PipelineType)

Wajib. Jenis pipeline.

path

string

Wajib. Jalur relatif dalam repositori Git tempat pipeline ditentukan. Misalnya, untuk pipeline Dataform, ini adalah jalur ke folder tempat workflow_settings.yaml atau dataform.json berada.

QueryPriority

Jenis prioritas untuk eksekusi kueri di BigQuery.

Enum
QUERY_PRIORITY_UNSPECIFIED Nilai default. Nilai ini tidak digunakan.
INTERACTIVE Kueri akan dieksekusi di BigQuery dengan prioritas interaktif. Informasi selengkapnya dapat ditemukan di https://cloud.google.com/bigquery/docs/running-queries#queries.
BATCH Kueri akan dieksekusi di BigQuery dengan prioritas batch. Informasi selengkapnya dapat ditemukan di https://cloud.google.com/bigquery/docs/running-queries#batchqueries.

Negara Bagian

Menunjukkan status pemanggilan alur kerja saat ini.

Enum
STATE_UNSPECIFIED Nilai default. Nilai ini tidak digunakan.
RUNNING Pemanggilan alur kerja saat ini sedang berjalan.
SUCCEEDED Pemanggilan alur kerja berhasil. Status terminal.
CANCELLED Pemanggilan alur kerja dibatalkan. Status terminal.
FAILED Pemanggilan alur kerja gagal. Status terminal.
CANCELING Pemanggilan alur kerja sedang dibatalkan, tetapi beberapa tindakan masih berjalan.

PipelineType

Jenis pipeline. Periode ini dapat diperpanjang pada masa mendatang. Jika UNSPECIFIED, error akan ditampilkan.

Enum
PIPELINE_TYPE_UNSPECIFIED Nilai default. Nilai ini tidak digunakan.
DATAFORM Pipeline Dataform reguler.
SQL Aset file tunggal SQL.
NOTEBOOK Aset file tunggal notebook.

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: ❌