MCP Tools Reference: dataform.googleapis.com

כלי: create_workspace

יוצרים סביבת פיתוח חדשה במאגר Dataform נתון.

סביבת עבודה היא עותק מבודד של המאגר שאפשר לערוך. כדאי להשתמש בסביבת עבודה כשצריך לכתוב או לשנות קוד של צינורות בכמה קבצים, ולאמת אותו לפני שמבצעים commit. עורכים קבצים בסביבת העבודה באמצעות הכלים write_file ו-remove_file, מתעדים את התוצאה באמצעות הכלי commit_workspace_changes ומפרסמים את השינויים שנשמרו במאגר באמצעות הכלי push_git_commits.

אל תשתמשו בכלי commit_repository_changes לפיתוח צינורות נתונים רגילים. הכלי הזה כותב ישירות למאגר, מיועד רק לנכסים של קובץ יחיד כמו מחברות או שאילתות שמורות, והוא לא פועל במאגרים שמחוברים למארח Git מרוחק.

תנאי מוקדם: מאגר האב חייב להתקיים.

ערך הפרמטר parent צריך להיות בפורמט projects/{project_id}/locations/{location}/repositories/{repository}.

ערך הפרמטר workspace_id הוא המזהה שבו צריך להשתמש בשביל סביבת העבודה.

ערך הפרמטר workspace מכיל את סביבת העבודה שרוצים ליצור.

בדוגמת הקוד הבאה מוצג שימוש בפקודה curl כדי להפעיל את הכלי create_workspace 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_workspace",
    "arguments": {
      // Provide these details according to the MCP tool specification.
    }
  },
  "jsonrpc": "2.0",
  "id": 1
}'

סכימת הקלט

CreateWorkspace הזמנה לצ'אט.

CreateWorkspaceRequest

ייצוג JSON
{
  "parent": string,
  "workspace": {
    object (Workspace)
  },
  "workspaceId": string
}
שדות
parent

string

חובה. המאגר שבו רוצים ליצור את סביבת העבודה. חייב להיות בפורמט projects/*/locations/*/repositories/*.

workspace

object (Workspace)

חובה. סביבת העבודה שרוצים ליצור.

workspaceId

string

חובה. המזהה שבו יש להשתמש עבור סביבת העבודה, שיהפוך לרכיב הסופי של שם המשאב של סביבת העבודה.

Workspace

ייצוג JSON
{
  "name": string,
  "createTime": string,
  "dataEncryptionState": {
    object (DataEncryptionState)
  },
  "privateResourceMetadata": {
    object (PrivateResourceMetadata)
  },
  "depth": integer,

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

  // Union field _disable_moves can be only one of the following:
  "disableMoves": boolean
  // End of list of possible types for union field _disable_moves.

  // Union field _original_branch can be only one of the following:
  "originalBranch": string
  // End of list of possible types for union field _original_branch.

  // Union field _enable_branch_management can be only one of the following:
  "enableBranchManagement": boolean
  // End of list of possible types for union field _enable_branch_management.

  // Union field _shallow can be only one of the following:
  "shallow": boolean
  // End of list of possible types for union field _shallow.
}
שדות
name

string

מזהה. השם של סביבת העבודה.

createTime

string (Timestamp format)

פלט בלבד. חותמת הזמן של מועד היצירה של סביבת העבודה.

הפונקציה משתמשת ב-RFC 3339, והפלט שנוצר תמיד יהיה בפורמט Z עם 0, 3, 6 או 9 ספרות אחרי הנקודה. אפשר להשתמש גם בהיסטים אחרים, לא רק ב-Z. דוגמאות: "2014-10-02T15:01:23Z", ‏ "2014-10-02T15:01:23.045123456Z" או "2014-10-02T15:01:23+05:30".

dataEncryptionState

object (DataEncryptionState)

פלט בלבד. מצב הצפנת הנתונים של מאגר Git אם Workspace מוגן על ידי מפתח KMS.

privateResourceMetadata

object (PrivateResourceMetadata)

פלט בלבד. מטא-נתונים שמציינים אם המשאב הזה הוא ברמת המשתמש. במשאבי Workspace, השדה user_scoped הוא תמיד true.

depth

integer

זה שינוי אופציונלי. קלט בלבד. אי אפשר לשנות. העומק המקסימלי של מאגר Git שצריך להוציא מהמאגר עבור סביבת העבודה הזו. אם המשתנה מוגדר וגדול מ-0, מאגר ה-Git נוצר כעותק מקוצר עם העומק שצוין. אחרת, מתבצע שיבוט מלא. השדה הזה זמין רק במאגרי GitHub, ‏ GitLab ומאגרי צד ראשון שבהם מופעל ניהול ענפים.

שדה איחוד _internal_metadata.

הערך _internal_metadata יכול להיות רק אחד מהבאים:

internalMetadata

string

פלט בלבד. כל פרטי המטא-נתונים שמשמשים באופן פנימי להצגת המשאב. לדוגמה: חותמות זמן, דגלים, שדות סטטוס וכו'. הפורמט של השדה הזה הוא מחרוזת JSON.

שדה איחוד _disable_moves.

הערך _disable_moves יכול להיות רק אחד מהבאים:

disableMoves

boolean

זה שינוי אופציונלי. אם היא מוגדרת כ-true, סביבות עבודה לא יועברו אם המאגר המקושר שלהן יועבר. במקום זאת, הוא יימחק.

שדה איחוד _original_branch.

הערך _original_branch יכול להיות רק אחד מהבאים:

originalBranch

string

זה שינוי אופציונלי. קלט בלבד. אי אפשר לשנות. השם של ענף ברירת המחדל במעלה הזרם לכל פעולות המשיכה והדחיפה במאגר המרוחק של סביבת העבודה הזו. אם השדה ריק, המערכת תשתמש בענף HEAD מהמאגר.

שדה איחוד _enable_branch_management.

הערך _enable_branch_management יכול להיות רק אחד מהבאים:

enableBranchManagement

boolean

אי אפשר לשנות. קובעת את ההפעלה של branch checkout בסביבת העבודה.

אם המדיניות מוגדרת כ-True, אפשר לבצע checkout של ענפים בסביבת העבודה.

שדה איחוד _shallow.

הערך _shallow יכול להיות רק אחד מהבאים:

shallow

boolean

פלט בלבד. אם הערך מוגדר כ-true, סביבת העבודה נוצרה כשיבוט רדוד. הערך יהיה true אם השדה depth מוגדר לערך שגדול מ-0, אחרת הערך יהיה false.

חותמת הזמן

ייצוג JSON
{
  "seconds": string,
  "nanos": integer
}
שדות
seconds

string (int64 format)

מייצג את השניות של זמן UTC מאז ראשית זמן יוניקס (Unix epoch) ‏1970-01-01T00:00:00Z. הערך חייב להיות בין ‎-62135596800 ל-‎253402300799, כולל (שמתאים לטווח 0001-01-01T00:00:00Z עד 9999-12-31T23:59:59Z).

nanos

integer

שבריר לא שלילי של שנייה ברזולוציית ננו-שנייה. השדה הזה מייצג את החלק של משך הזמן בננו-שניות, ולא מהווה חלופה לשניות. ערכי שניות שליליים עם שברים עדיין צריכים לכלול ערכי ננו-שניות לא שליליים שסופרים קדימה בזמן. הערך חייב להיות בין 0 ל-999,999,999, כולל.

DataEncryptionState

ייצוג JSON
{
  "kmsKeyVersionName": string
}
שדות
kmsKeyVersionName

string

חובה. שם גרסת מפתח ה-KMS שבאמצעותה מוצפנים נתונים של משאב.

PrivateResourceMetadata

ייצוג JSON
{
  "userScoped": boolean
}
שדות
userScoped

boolean

פלט בלבד. אם הערך הוא true, המשאב הזה הוא ברמת המשתמש, כלומר הוא סביבת עבודה או שהוא נוצר מסביבת עבודה.

סכימת הפלט

מייצג סביבת עבודה ב-Dataform Git.

Workspace

ייצוג JSON
{
  "name": string,
  "createTime": string,
  "dataEncryptionState": {
    object (DataEncryptionState)
  },
  "privateResourceMetadata": {
    object (PrivateResourceMetadata)
  },
  "depth": integer,

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

  // Union field _disable_moves can be only one of the following:
  "disableMoves": boolean
  // End of list of possible types for union field _disable_moves.

  // Union field _original_branch can be only one of the following:
  "originalBranch": string
  // End of list of possible types for union field _original_branch.

  // Union field _enable_branch_management can be only one of the following:
  "enableBranchManagement": boolean
  // End of list of possible types for union field _enable_branch_management.

  // Union field _shallow can be only one of the following:
  "shallow": boolean
  // End of list of possible types for union field _shallow.
}
שדות
name

string

מזהה. השם של סביבת העבודה.

createTime

string (Timestamp format)

פלט בלבד. חותמת הזמן של מועד היצירה של סביבת העבודה.

הפונקציה משתמשת ב-RFC 3339, והפלט שנוצר תמיד יהיה בפורמט Z עם 0, 3, 6 או 9 ספרות אחרי הנקודה. אפשר להשתמש גם בהיסטים אחרים, לא רק ב-Z. דוגמאות: "2014-10-02T15:01:23Z", ‏ "2014-10-02T15:01:23.045123456Z" או "2014-10-02T15:01:23+05:30".

dataEncryptionState

object (DataEncryptionState)

פלט בלבד. מצב הצפנת הנתונים של מאגר Git אם Workspace מוגן על ידי מפתח KMS.

privateResourceMetadata

object (PrivateResourceMetadata)

פלט בלבד. מטא-נתונים שמציינים אם המשאב הזה הוא ברמת המשתמש. במשאבי Workspace, השדה user_scoped הוא תמיד true.

depth

integer

זה שינוי אופציונלי. קלט בלבד. אי אפשר לשנות. העומק המקסימלי של מאגר Git שצריך להוציא מהמאגר עבור סביבת העבודה הזו. אם המשתנה מוגדר וגדול מ-0, מאגר ה-Git נוצר כעותק מקוצר עם העומק שצוין. אחרת, מתבצע שיבוט מלא. השדה הזה זמין רק במאגרי GitHub, ‏ GitLab ומאגרי צד ראשון שבהם מופעל ניהול ענפים.

שדה איחוד _internal_metadata.

הערך _internal_metadata יכול להיות רק אחד מהבאים:

internalMetadata

string

פלט בלבד. כל פרטי המטא-נתונים שמשמשים באופן פנימי להצגת המשאב. לדוגמה: חותמות זמן, דגלים, שדות סטטוס וכו'. הפורמט של השדה הזה הוא מחרוזת JSON.

שדה איחוד _disable_moves.

הערך _disable_moves יכול להיות רק אחד מהבאים:

disableMoves

boolean

זה שינוי אופציונלי. אם היא מוגדרת כ-true, סביבות עבודה לא יועברו אם המאגר המקושר שלהן יועבר. במקום זאת, הוא יימחק.

שדה איחוד _original_branch.

הערך _original_branch יכול להיות רק אחד מהבאים:

originalBranch

string

זה שינוי אופציונלי. קלט בלבד. אי אפשר לשנות. השם של ענף ברירת המחדל במעלה הזרם לכל פעולות המשיכה והדחיפה במאגר המרוחק של סביבת העבודה הזו. אם השדה ריק, המערכת תשתמש בענף HEAD מהמאגר.

שדה איחוד _enable_branch_management.

הערך _enable_branch_management יכול להיות רק אחד מהבאים:

enableBranchManagement

boolean

אי אפשר לשנות. קובעת את ההפעלה של branch checkout בסביבת העבודה.

אם המדיניות מוגדרת כ-True, אפשר לבצע checkout של ענפים בסביבת העבודה.

שדה איחוד _shallow.

הערך _shallow יכול להיות רק אחד מהבאים:

shallow

boolean

פלט בלבד. אם הערך מוגדר כ-true, סביבת העבודה נוצרה כשיבוט רדוד. הערך יהיה true אם השדה depth מוגדר לערך שגדול מ-0, אחרת הערך יהיה false.

חותמת הזמן

ייצוג JSON
{
  "seconds": string,
  "nanos": integer
}
שדות
seconds

string (int64 format)

מייצג את השניות של זמן UTC מאז ראשית זמן יוניקס (Unix epoch) ‏1970-01-01T00:00:00Z. הערך חייב להיות בין ‎-62135596800 ל-‎253402300799, כולל (שמתאים לטווח 0001-01-01T00:00:00Z עד 9999-12-31T23:59:59Z).

nanos

integer

שבריר לא שלילי של שנייה ברזולוציית ננו-שנייה. השדה הזה מייצג את החלק של משך הזמן בננו-שניות, ולא מהווה חלופה לשניות. ערכי שניות שליליים עם שברים עדיין צריכים לכלול ערכי ננו-שניות לא שליליים שסופרים קדימה בזמן. הערך חייב להיות בין 0 ל-999,999,999, כולל.

DataEncryptionState

ייצוג JSON
{
  "kmsKeyVersionName": string
}
שדות
kmsKeyVersionName

string

חובה. שם גרסת מפתח ה-KMS שבאמצעותה מוצפנים נתונים של משאב.

PrivateResourceMetadata

ייצוג JSON
{
  "userScoped": boolean
}
שדות
userScoped

boolean

פלט בלבד. אם הערך הוא true, המשאב הזה הוא ברמת המשתמש, כלומר הוא סביבת עבודה או שהוא נוצר מסביבת עבודה.

הערות על כלים

הערות על כלים נשלחות ללקוחות MCP כדי לתאר את הסיכון הבסיסי של כלי נתון. רוב הלקוחות מתייחסים לרמזים האלה כאל רמזים לא מהימנים, אבל אפשר להשתמש בהם כדי להחליט מתי לשלוח למשתמש הנחיה לאישור.

בנוסף למחרוזת הכותרת, מוגדרים הרמזים הבוליאניים הבאים:

  • readOnlyHint: אם הערך הוא true, הכלי לא משנה את הסביבה שלו. ברירת מחדל: false.
  • destructiveHint: אם הערך הוא True, הכלי יכול לבצע פעולות הרסניות. אם הערך הוא false, הכלי יכול לבצע רק פעולות של הוספה. ברירת מחדל: true.
  • idempotentHint: אם הערך הוא true, קריאה חוזרת לכלי עם אותם ארגומנטים לא תשפיע על הסביבה שלו. ברירת מחדל: false.
  • openWorldHint: אם הערך הוא true, הכלי יכול ליצור אינטראקציה עם 'עולם פתוח' של ישויות חיצוניות. אם הערך הוא false, הכלי יכול ליצור אינטראקציה רק עם ישויות פנימיות. לדוגמה, כלי לחיפוש באינטרנט יהיה עולם פתוח, אבל כלי לזיכרון לא יהיה עולם פתוח.

רמז הרסני: ❌ | רמז אידמפוטנטי: ❌ | רמז לקריאה בלבד: ❌ | רמז לעולם פתוח: ❌