כלי: create_workflow_invocation
יצירת הפעלה חדשה של תהליך עבודה במאגר Dataform נתון.
ערך הפרמטר parent צריך להיות בפורמט projects/{project_id}/locations/{location}/repositories/{repository}.
צריך לציין את ערך הפרמטר compilation_result או workflow_config.
- אם משתמשים ב-
compilation_result, ערך הפרמטר צריך להיות בפורמטprojects/{project_id}/locations/{location}/repositories/{repository}/compilationResults/{compilation_result}. - אם משתמשים ב-
workflow_config, ערך הפרמטר צריך להיות בפורמטprojects/{project_id}/locations/{location}/repositories/{repository}/workflowConfigs/{workflow_config}.
דרישה מוקדמת: כדי להפעיל קריאה לפונקציה, קודם צריך ליצור compilation_result באמצעות הכלי create_compilation_result או workflow_config באמצעות הכלי create_workflow_config. אי אפשר להפעיל קריאה לפונקציה ישירות מקוד מאגר גולמי.
הפעלת תהליך העבודה מתבצעת באמצעות חשבון שירות שנקבע על ידי מקור הקומפילציה:
- אם משתמשים בפרמטר
compilation_result, צריך להגדיר את ערך הפרמטרinvocationConfig.serviceAccount. אם לא מציינים את המאפיין הזה, המערכת משתמשת בברירת המחדל של המאגרservice_account. - אם משתמשים ב-
workflow_config, לא מגדירים את הפרמטרinvocationConfig. ההפעלה מתבצעת אוטומטית במסגרת חשבון השירות שהוגדר בתצורת תהליך העבודה.
חשבון השירות לא יכול להיות סוכן השירות שמוגדר כברירת מחדל ב-Dataform. לחשבון השירות צריכות להיות ההרשאות הנדרשות להרצת תהליך העבודה, ולמשתמש צריכה להיות הרשאה לפעול כחשבון השירות שנבחר. בדרך כלל, ההרשאה הזו ניתנת באמצעות התפקיד 'משתמש בחשבון שירות' (roles/iam.serviceAccountUser), שאפשר להעניק אותו לחשבון השירות עצמו או לפרויקט שמכיל אותו.
בדוגמת הקוד הבאה מוצג שימוש בפקודה curl כדי להפעיל את הכלי create_workflow_invocation MCP.
| בקשת 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 }' |
סכימת הקלט
CreateWorkflowInvocation הזמנה לצ'אט.
CreateWorkflowInvocationRequest
| ייצוג JSON |
|---|
{
"parent": string,
"workflowInvocation": {
object ( |
| שדות | |
|---|---|
parent |
חובה. המאגר שבו ייקרא תהליך העבודה. חייב להיות בפורמט |
workflowInvocation |
חובה. משאב ההפעלה של תהליך העבודה שרוצים ליצור. |
WorkflowInvocation
| ייצוג JSON |
|---|
{ "name": string, "invocationConfig": { object ( |
| שדות | |
|---|---|
name |
פלט בלבד. השם של הפעלת תהליך העבודה. |
invocationConfig |
אי אפשר לשנות. אם לא מגדירים את המדיניות, המערכת תשתמש ב-InvocationConfig שמוגדר כברירת מחדל. |
state |
פלט בלבד. המצב הנוכחי של הפעלת תהליך העבודה. |
invocationTiming |
פלט בלבד. פרטי התזמון של הפעלת תהליך העבודה הזה. |
resolvedCompilationResult |
פלט בלבד. תוצאת הקומפילציה שנפתרה ושימשה ליצירת הקריאה הזו. הפורמט יהיה |
dataEncryptionState |
פלט בלבד. ההגדרה הזו מוגדרת רק אם במאגר יש מפתח KMS. |
privateResourceMetadata |
פלט בלבד. מטא-נתונים שמציינים אם המשאב הזה הוא ברמת המשתמש. הערך של המשאב |
pipelineConfig |
פלט בלבד. אפשרויות צינור עיבוד הנתונים שמגדירות את סוג צינור עיבוד הנתונים והנתיב שלו במאגר Git. |
שדה איחוד compilation_source. מקור תוצאת ההידור שבו רוצים להשתמש בקריאה הזו. הערך compilation_source יכול להיות רק אחד מהבאים: |
|
compilationResult |
אי אפשר לשנות. השם של תוצאת ההידור שבה רוצים להשתמש בקריאה הזו. חייב להיות בפורמט |
workflowConfig |
אי אפשר לשנות. השם של הגדרת תהליך העבודה שיופעל. חייב להיות בפורמט |
שדה איחוד הערך |
|
internalMetadata |
פלט בלבד. כל פרטי המטא-נתונים שמשמשים באופן פנימי להצגת המשאב. לדוגמה: חותמות זמן, דגלים, שדות סטטוס וכו'. הפורמט של השדה הזה הוא מחרוזת JSON. |
InvocationConfig
| ייצוג JSON |
|---|
{ "includedTargets": [ { object ( |
| שדות | |
|---|---|
includedTargets[] |
זה שינוי אופציונלי. קבוצת מזהי הפעולות שרוצים לכלול. |
includedTags[] |
זה שינוי אופציונלי. קבוצת התגים שרוצים לכלול. |
transitiveDependenciesIncluded |
זה שינוי אופציונלי. אם המדיניות מוגדרת כ-True, יבוצעו יחסי תלות טרנזיטיביים של פעולות שכלולות. |
transitiveDependentsIncluded |
זה שינוי אופציונלי. אם המדיניות מוגדרת כ-True, יופעלו תלויות טרנזיטיביות של פעולות שכלולות. |
fullyRefreshIncrementalTablesEnabled |
זה שינוי אופציונלי. אם המדיניות מוגדרת כ-true, כל הטבלאות המצטברות ירועננו באופן מלא. |
serviceAccount |
זה שינוי אופציונלי. חשבון השירות שדרכו יופעלו קריאות להפעלת תהליכי עבודה. |
שדה איחוד הערך |
|
queryPriority |
זה שינוי אופציונלי. מציינת את העדיפות להרצת השאילתה ב-BigQuery. מידע נוסף זמין בכתובת https://cloud.google.com/bigquery/docs/running-queries#queries. |
יעד
| ייצוג JSON |
|---|
{ "database": string, "schema": string, "name": string } |
| שדות | |
|---|---|
database |
זה שינוי אופציונלי. מסד הנתונים של הפעולה (מזהה הפרויקט ב-Google Cloud) . |
schema |
זה שינוי אופציונלי. הסכימה של הפעולה (מזהה מערך הנתונים ב-BigQuery), בתוך |
name |
זה שינוי אופציונלי. שם הפעולה, בתוך |
מרווח
| ייצוג JSON |
|---|
{ "startTime": string, "endTime": string } |
| שדות | |
|---|---|
startTime |
זה שינוי אופציונלי. ההתחלה של מרווח הזמן, כולל. אם מציינים את המרווח, חותמת הזמן שמתאימה לו צריכה להיות זהה לזמן ההתחלה או מאוחרת ממנו. הפונקציה משתמשת ב-RFC 3339, והפלט שנוצר תמיד יהיה בפורמט Z עם 0, 3, 6 או 9 ספרות אחרי הנקודה. אפשר להשתמש גם בהיסטים אחרים, לא רק ב-Z. דוגמאות: |
endTime |
זה שינוי אופציונלי. סיום המרווח, לא כולל. אם מציינים חותמת זמן, היא צריכה להיות לפני סוף המרווח. הפונקציה משתמשת ב-RFC 3339, והפלט שנוצר תמיד יהיה בפורמט Z עם 0, 3, 6 או 9 ספרות אחרי הנקודה. אפשר להשתמש גם בהיסטים אחרים, לא רק ב-Z. דוגמאות: |
חותמת הזמן
| ייצוג JSON |
|---|
{ "seconds": string, "nanos": integer } |
| שדות | |
|---|---|
seconds |
מייצג את השניות של זמן UTC מאז ראשית זמן יוניקס (Unix epoch) 1970-01-01T00:00:00Z. הערך חייב להיות בין -62135596800 ל-253402300799, כולל (שמתאים לטווח 0001-01-01T00:00:00Z עד 9999-12-31T23:59:59Z). |
nanos |
שבריר לא שלילי של שנייה ברזולוציית ננו-שנייה. השדה הזה מייצג את החלק של משך הזמן בננו-שניות, ולא מהווה חלופה לשניות. ערכי שניות שליליים עם שברים עדיין צריכים לכלול ערכי ננו-שניות לא שליליים שסופרים קדימה בזמן. הערך חייב להיות בין 0 ל-999,999,999, כולל. |
DataEncryptionState
| ייצוג JSON |
|---|
{ "kmsKeyVersionName": string } |
| שדות | |
|---|---|
kmsKeyVersionName |
חובה. שם גרסת מפתח ה-KMS שבאמצעותה מוצפנים נתונים של משאב. |
PrivateResourceMetadata
| ייצוג JSON |
|---|
{ "userScoped": boolean } |
| שדות | |
|---|---|
userScoped |
פלט בלבד. אם הערך הוא true, המשאב הזה הוא ברמת המשתמש, כלומר הוא סביבת עבודה או שהוא נוצר מסביבת עבודה. |
PipelineConfig
| ייצוג JSON |
|---|
{
"pipelineType": enum ( |
| שדות | |
|---|---|
pipelineType |
חובה. סוג צינור העיבוד. |
path |
חובה. הנתיב היחסי במאגר Git שבו מוגדר צינור הנתונים. לדוגמה, בצינור Dataform, זהו הנתיב לתיקייה שבה נמצאים |
QueryPriority
סוגי העדיפות להרצת שאילתות ב-BigQuery.
| טיפוסים בני מנייה (enum) | |
|---|---|
QUERY_PRIORITY_UNSPECIFIED |
ערך ברירת המחדל. הערך הזה לא בשימוש. |
INTERACTIVE |
השאילתה תופעל ב-BigQuery עם עדיפות אינטראקטיבית. מידע נוסף זמין בכתובת https://cloud.google.com/bigquery/docs/running-queries#queries. |
BATCH |
השאילתה תופעל ב-BigQuery עם עדיפות אצווה. מידע נוסף זמין בכתובת https://cloud.google.com/bigquery/docs/running-queries#batchqueries. |
מדינה
מייצג את המצב הנוכחי של הפעלת תהליך עבודה.
| טיפוסים בני מנייה (enum) | |
|---|---|
STATE_UNSPECIFIED |
ערך ברירת המחדל. הערך הזה לא בשימוש. |
RUNNING |
הפעלת תהליך העבודה מתבצעת כרגע. |
SUCCEEDED |
הפעלת תהליך העבודה הצליחה. מצב סופי. |
CANCELLED |
הפעלת תהליך העבודה בוטלה. מצב סופי. |
FAILED |
הפעלת תהליך העבודה נכשלה. מצב סופי. |
CANCELING |
הפעלת תהליך העבודה מבוטלת, אבל חלק מהפעולות עדיין פועלות. |
PipelineType
סוג צינור העיבוד. יכול להיות שנרחיב את התקופה הזו בעתיד. במקרה של UNSPECIFIED, השגיאה תופעל.
| טיפוסים בני מנייה (enum) | |
|---|---|
PIPELINE_TYPE_UNSPECIFIED |
ערך ברירת המחדל. הערך הזה לא בשימוש. |
DATAFORM |
פייפליין רגיל של Dataform. |
SQL |
נכס של קובץ SQL יחיד. |
NOTEBOOK |
נכס של קובץ יחיד של מחברת. |
סכימת הפלט
מייצג קריאה יחידה של תוצאת קומפילציה.
WorkflowInvocation
| ייצוג JSON |
|---|
{ "name": string, "invocationConfig": { object ( |
| שדות | |
|---|---|
name |
פלט בלבד. השם של הפעלת תהליך העבודה. |
invocationConfig |
אי אפשר לשנות. אם לא מגדירים את המדיניות, המערכת תשתמש ב-InvocationConfig שמוגדר כברירת מחדל. |
state |
פלט בלבד. המצב הנוכחי של הפעלת תהליך העבודה. |
invocationTiming |
פלט בלבד. פרטי התזמון של הפעלת תהליך העבודה הזה. |
resolvedCompilationResult |
פלט בלבד. תוצאת הקומפילציה שנפתרה ושימשה ליצירת הקריאה הזו. הפורמט יהיה |
dataEncryptionState |
פלט בלבד. ההגדרה הזו מוגדרת רק אם במאגר יש מפתח KMS. |
privateResourceMetadata |
פלט בלבד. מטא-נתונים שמציינים אם המשאב הזה הוא ברמת המשתמש. הערך של המשאב |
pipelineConfig |
פלט בלבד. אפשרויות צינור עיבוד הנתונים שמגדירות את סוג צינור עיבוד הנתונים והנתיב שלו במאגר Git. |
שדה איחוד compilation_source. מקור תוצאת ההידור שבו רוצים להשתמש בקריאה הזו. הערך compilation_source יכול להיות רק אחד מהבאים: |
|
compilationResult |
אי אפשר לשנות. השם של תוצאת ההידור שבה רוצים להשתמש בקריאה הזו. חייב להיות בפורמט |
workflowConfig |
אי אפשר לשנות. השם של הגדרת תהליך העבודה שיופעל. חייב להיות בפורמט |
שדה איחוד הערך |
|
internalMetadata |
פלט בלבד. כל פרטי המטא-נתונים שמשמשים באופן פנימי להצגת המשאב. לדוגמה: חותמות זמן, דגלים, שדות סטטוס וכו'. הפורמט של השדה הזה הוא מחרוזת JSON. |
InvocationConfig
| ייצוג JSON |
|---|
{ "includedTargets": [ { object ( |
| שדות | |
|---|---|
includedTargets[] |
זה שינוי אופציונלי. קבוצת מזהי הפעולות שרוצים לכלול. |
includedTags[] |
זה שינוי אופציונלי. קבוצת התגים שרוצים לכלול. |
transitiveDependenciesIncluded |
זה שינוי אופציונלי. אם המדיניות מוגדרת כ-True, יבוצעו יחסי תלות טרנזיטיביים של פעולות שכלולות. |
transitiveDependentsIncluded |
זה שינוי אופציונלי. אם המדיניות מוגדרת כ-True, יופעלו תלויות טרנזיטיביות של פעולות שכלולות. |
fullyRefreshIncrementalTablesEnabled |
זה שינוי אופציונלי. אם המדיניות מוגדרת כ-true, כל הטבלאות המצטברות ירועננו באופן מלא. |
serviceAccount |
זה שינוי אופציונלי. חשבון השירות שדרכו יופעלו קריאות להפעלת תהליכי עבודה. |
שדה איחוד הערך |
|
queryPriority |
זה שינוי אופציונלי. מציינת את העדיפות להרצת השאילתה ב-BigQuery. מידע נוסף זמין בכתובת https://cloud.google.com/bigquery/docs/running-queries#queries. |
יעד
| ייצוג JSON |
|---|
{ "database": string, "schema": string, "name": string } |
| שדות | |
|---|---|
database |
זה שינוי אופציונלי. מסד הנתונים של הפעולה (מזהה הפרויקט ב-Google Cloud) . |
schema |
זה שינוי אופציונלי. הסכימה של הפעולה (מזהה מערך הנתונים ב-BigQuery), בתוך |
name |
זה שינוי אופציונלי. שם הפעולה, בתוך |
מרווח
| ייצוג JSON |
|---|
{ "startTime": string, "endTime": string } |
| שדות | |
|---|---|
startTime |
זה שינוי אופציונלי. ההתחלה של מרווח הזמן, כולל. אם מציינים את המרווח, חותמת הזמן שמתאימה לו צריכה להיות זהה לזמן ההתחלה או מאוחרת ממנו. הפונקציה משתמשת ב-RFC 3339, והפלט שנוצר תמיד יהיה בפורמט Z עם 0, 3, 6 או 9 ספרות אחרי הנקודה. אפשר להשתמש גם בהיסטים אחרים, לא רק ב-Z. דוגמאות: |
endTime |
זה שינוי אופציונלי. סיום המרווח, לא כולל. אם מציינים חותמת זמן, היא צריכה להיות לפני סוף המרווח. הפונקציה משתמשת ב-RFC 3339, והפלט שנוצר תמיד יהיה בפורמט Z עם 0, 3, 6 או 9 ספרות אחרי הנקודה. אפשר להשתמש גם בהיסטים אחרים, לא רק ב-Z. דוגמאות: |
חותמת הזמן
| ייצוג JSON |
|---|
{ "seconds": string, "nanos": integer } |
| שדות | |
|---|---|
seconds |
מייצג את השניות של זמן UTC מאז ראשית זמן יוניקס (Unix epoch) 1970-01-01T00:00:00Z. הערך חייב להיות בין -62135596800 ל-253402300799, כולל (שמתאים לטווח 0001-01-01T00:00:00Z עד 9999-12-31T23:59:59Z). |
nanos |
שבריר לא שלילי של שנייה ברזולוציית ננו-שנייה. השדה הזה מייצג את החלק של משך הזמן בננו-שניות, ולא מהווה חלופה לשניות. ערכי שניות שליליים עם שברים עדיין צריכים לכלול ערכי ננו-שניות לא שליליים שסופרים קדימה בזמן. הערך חייב להיות בין 0 ל-999,999,999, כולל. |
DataEncryptionState
| ייצוג JSON |
|---|
{ "kmsKeyVersionName": string } |
| שדות | |
|---|---|
kmsKeyVersionName |
חובה. שם גרסת מפתח ה-KMS שבאמצעותה מוצפנים נתונים של משאב. |
PrivateResourceMetadata
| ייצוג JSON |
|---|
{ "userScoped": boolean } |
| שדות | |
|---|---|
userScoped |
פלט בלבד. אם הערך הוא true, המשאב הזה הוא ברמת המשתמש, כלומר הוא סביבת עבודה או שהוא נוצר מסביבת עבודה. |
PipelineConfig
| ייצוג JSON |
|---|
{
"pipelineType": enum ( |
| שדות | |
|---|---|
pipelineType |
חובה. סוג צינור העיבוד. |
path |
חובה. הנתיב היחסי במאגר Git שבו מוגדר צינור הנתונים. לדוגמה, בצינור Dataform, זהו הנתיב לתיקייה שבה נמצאים |
QueryPriority
סוגי העדיפות להרצת שאילתות ב-BigQuery.
| טיפוסים בני מנייה (enum) | |
|---|---|
QUERY_PRIORITY_UNSPECIFIED |
ערך ברירת המחדל. הערך הזה לא בשימוש. |
INTERACTIVE |
השאילתה תופעל ב-BigQuery עם עדיפות אינטראקטיבית. מידע נוסף זמין בכתובת https://cloud.google.com/bigquery/docs/running-queries#queries. |
BATCH |
השאילתה תופעל ב-BigQuery עם עדיפות אצווה. מידע נוסף זמין בכתובת https://cloud.google.com/bigquery/docs/running-queries#batchqueries. |
מדינה
מייצג את המצב הנוכחי של הפעלת תהליך עבודה.
| טיפוסים בני מנייה (enum) | |
|---|---|
STATE_UNSPECIFIED |
ערך ברירת המחדל. הערך הזה לא בשימוש. |
RUNNING |
הפעלת תהליך העבודה מתבצעת כרגע. |
SUCCEEDED |
הפעלת תהליך העבודה הצליחה. מצב סופי. |
CANCELLED |
הפעלת תהליך העבודה בוטלה. מצב סופי. |
FAILED |
הפעלת תהליך העבודה נכשלה. מצב סופי. |
CANCELING |
הפעלת תהליך העבודה מבוטלת, אבל חלק מהפעולות עדיין פועלות. |
PipelineType
סוג צינור העיבוד. יכול להיות שנרחיב את התקופה הזו בעתיד. במקרה של UNSPECIFIED, השגיאה תופעל.
| טיפוסים בני מנייה (enum) | |
|---|---|
PIPELINE_TYPE_UNSPECIFIED |
ערך ברירת המחדל. הערך הזה לא בשימוש. |
DATAFORM |
פייפליין רגיל של Dataform. |
SQL |
נכס של קובץ SQL יחיד. |
NOTEBOOK |
נכס של קובץ יחיד של מחברת. |
הערות על כלים
הערות על כלים נשלחות ללקוחות MCP כדי לתאר את הסיכון הבסיסי של כלי נתון. רוב הלקוחות מתייחסים לרמזים האלה כאל רמזים לא מהימנים, אבל אפשר להשתמש בהם כדי להחליט מתי לשלוח למשתמש הנחיה לאישור.
בנוסף למחרוזת הכותרת, מוגדרים הרמזים הבוליאניים הבאים:
-
readOnlyHint: אם הערך הוא true, הכלי לא משנה את הסביבה שלו. ברירת מחדל: false. -
destructiveHint: אם הערך הוא True, הכלי יכול לבצע פעולות הרסניות. אם הערך הוא false, הכלי יכול לבצע רק פעולות של הוספה. ברירת מחדל: true. -
idempotentHint: אם הערך הוא true, קריאה חוזרת לכלי עם אותם ארגומנטים לא תשפיע על הסביבה שלו. ברירת מחדל: false. -
openWorldHint: אם הערך הוא true, הכלי יכול ליצור אינטראקציה עם 'עולם פתוח' של ישויות חיצוניות. אם הערך הוא false, הכלי יכול ליצור אינטראקציה רק עם ישויות פנימיות. לדוגמה, כלי לחיפוש באינטרנט יהיה עולם פתוח, אבל כלי לזיכרון לא יהיה עולם פתוח.
רמז הרסני: ❌ | רמז אידמפוטנטי: ❌ | רמז לקריאה בלבד: ❌ | רמז לעולם פתוח: ❌