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 formatprojects/{project_id}/locations/{location}/repositories/{repository}/compilationResults/{compilation_result}. - Jika menggunakan
workflow_config, nilai parameter harus dalam formatprojects/{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 parameterinvocationConfig.serviceAccount. Jika dihilangkan,service_accountdefault repositori akan digunakan. - Jika menggunakan
workflow_config, jangan tetapkan parameterinvocationConfig. 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 ( |
| Kolom | |
|---|---|
parent |
Wajib. Repositori tempat membuat pemanggilan alur kerja. Harus dalam format |
workflowInvocation |
Wajib. Resource pemanggilan alur kerja yang akan dibuat. |
WorkflowInvocation
| Representasi JSON |
|---|
{ "name": string, "invocationConfig": { object ( |
| Kolom | |
|---|---|
name |
Hanya output. Nama pemanggilan alur kerja. |
invocationConfig |
Tidak dapat diubah. Jika tidak disetel, InvocationConfig default akan digunakan. |
state |
Hanya output. Status saat ini dari pemanggilan alur kerja ini. |
invocationTiming |
Hanya output. Detail waktu pemanggilan alur kerja ini. |
resolvedCompilationResult |
Hanya output. Hasil kompilasi yang di-resolve yang digunakan untuk membuat pemanggilan ini. Akan dalam format |
dataEncryptionState |
Hanya output. Hanya disetel jika repositori memiliki Kunci KMS. |
privateResourceMetadata |
Hanya output. Metadata yang menunjukkan apakah resource ini tercakup dalam cakupan pengguna. Resource |
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 |
Tidak dapat diubah. Nama hasil kompilasi yang akan digunakan untuk pemanggilan ini. Harus dalam format |
workflowConfig |
Tidak dapat diubah. Nama konfigurasi alur kerja yang akan dipanggil. Harus dalam format |
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. |
InvocationConfig
| Representasi JSON |
|---|
{ "includedTargets": [ { object ( |
| Kolom | |
|---|---|
includedTargets[] |
Opsional. Kumpulan ID tindakan yang akan disertakan. |
includedTags[] |
Opsional. Kumpulan tag yang akan disertakan. |
transitiveDependenciesIncluded |
Opsional. Jika disetel ke benar (true), dependensi transitif dari tindakan yang disertakan akan dieksekusi. |
transitiveDependentsIncluded |
Opsional. Jika disetel ke benar (true), dependen transitif dari tindakan yang disertakan akan dieksekusi. |
fullyRefreshIncrementalTablesEnabled |
Opsional. Jika ditetapkan ke benar (true), semua tabel inkremental akan di-refresh sepenuhnya. |
serviceAccount |
Opsional. Akun layanan yang akan menjalankan pemanggilan alur kerja. |
Kolom union
|
|
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 |
Opsional. Database tindakan (ID project Google Cloud) . |
schema |
Opsional. Skema tindakan (ID set data BigQuery), dalam |
name |
Opsional. Nama tindakan, dalam |
Interval
| Representasi JSON |
|---|
{ "startTime": string, "endTime": string } |
| Kolom | |
|---|---|
startTime |
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: |
endTime |
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: |
Stempel waktu
| Representasi JSON |
|---|
{ "seconds": string, "nanos": integer } |
| Kolom | |
|---|---|
seconds |
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 |
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 |
Wajib. Nama versi kunci KMS yang digunakan untuk mengenkripsi data resource. |
PrivateResourceMetadata
| Representasi JSON |
|---|
{ "userScoped": boolean } |
| Kolom | |
|---|---|
userScoped |
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 ( |
| Kolom | |
|---|---|
pipelineType |
Wajib. Jenis pipeline. |
path |
Wajib. Jalur relatif dalam repositori Git tempat pipeline ditentukan. Misalnya, untuk pipeline Dataform, ini adalah jalur ke folder tempat |
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 ( |
| Kolom | |
|---|---|
name |
Hanya output. Nama pemanggilan alur kerja. |
invocationConfig |
Tidak dapat diubah. Jika tidak disetel, InvocationConfig default akan digunakan. |
state |
Hanya output. Status saat ini dari pemanggilan alur kerja ini. |
invocationTiming |
Hanya output. Detail waktu pemanggilan alur kerja ini. |
resolvedCompilationResult |
Hanya output. Hasil kompilasi yang di-resolve yang digunakan untuk membuat pemanggilan ini. Akan dalam format |
dataEncryptionState |
Hanya output. Hanya disetel jika repositori memiliki Kunci KMS. |
privateResourceMetadata |
Hanya output. Metadata yang menunjukkan apakah resource ini tercakup dalam cakupan pengguna. Resource |
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 |
Tidak dapat diubah. Nama hasil kompilasi yang akan digunakan untuk pemanggilan ini. Harus dalam format |
workflowConfig |
Tidak dapat diubah. Nama konfigurasi alur kerja yang akan dipanggil. Harus dalam format |
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. |
InvocationConfig
| Representasi JSON |
|---|
{ "includedTargets": [ { object ( |
| Kolom | |
|---|---|
includedTargets[] |
Opsional. Kumpulan ID tindakan yang akan disertakan. |
includedTags[] |
Opsional. Kumpulan tag yang akan disertakan. |
transitiveDependenciesIncluded |
Opsional. Jika disetel ke benar (true), dependensi transitif dari tindakan yang disertakan akan dieksekusi. |
transitiveDependentsIncluded |
Opsional. Jika disetel ke benar (true), dependen transitif dari tindakan yang disertakan akan dieksekusi. |
fullyRefreshIncrementalTablesEnabled |
Opsional. Jika ditetapkan ke benar (true), semua tabel inkremental akan di-refresh sepenuhnya. |
serviceAccount |
Opsional. Akun layanan yang akan menjalankan pemanggilan alur kerja. |
Kolom union
|
|
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 |
Opsional. Database tindakan (ID project Google Cloud) . |
schema |
Opsional. Skema tindakan (ID set data BigQuery), dalam |
name |
Opsional. Nama tindakan, dalam |
Interval
| Representasi JSON |
|---|
{ "startTime": string, "endTime": string } |
| Kolom | |
|---|---|
startTime |
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: |
endTime |
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: |
Stempel waktu
| Representasi JSON |
|---|
{ "seconds": string, "nanos": integer } |
| Kolom | |
|---|---|
seconds |
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 |
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 |
Wajib. Nama versi kunci KMS yang digunakan untuk mengenkripsi data resource. |
PrivateResourceMetadata
| Representasi JSON |
|---|
{ "userScoped": boolean } |
| Kolom | |
|---|---|
userScoped |
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 ( |
| Kolom | |
|---|---|
pipelineType |
Wajib. Jenis pipeline. |
path |
Wajib. Jalur relatif dalam repositori Git tempat pipeline ditentukan. Misalnya, untuk pipeline Dataform, ini adalah jalur ke folder tempat |
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: ❌