MCP Tools Reference: dataform.googleapis.com

כלי: create_repository

יוצרים מאגר Dataform חדש בפרויקט בענן ובמיקום נתונים מסוימים ב-Google Cloud.

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

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

ערך הפרמטר repository_id הוא המזהה שבו צריך להשתמש עבור המאגר.

אם לא רוצים להגדיר את הפרמטר strictActAsChecks במאגר חדש, פשוט לא מציינים אותו. שימו לב: בפרויקטים חדשים, בדיקות מחמירות של פעולות בשם חשבון שירות מופעלות כברירת מחדל, ולכן כדי להפעיל תהליך עבודה במאגר הזה נדרש חשבון שירות בהתאמה אישית.

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

סכימת הקלט

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

CreateRepositoryRequest

ייצוג JSON
{
  "parent": string,
  "repository": {
    object (Repository)
  },
  "repositoryId": string
}
שדות
parent

string

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

repository

object (Repository)

חובה. המאגר שרוצים ליצור.

repositoryId

string

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

מאגר

ייצוג JSON
{
  "name": string,
  "createTime": string,
  "displayName": string,
  "gitRemoteSettings": {
    object (GitRemoteSettings)
  },
  "npmrcEnvironmentVariablesSecretVersion": string,
  "workspaceCompilationOverrides": {
    object (WorkspaceCompilationOverrides)
  },
  "labels": {
    string: string,
    ...
  },
  "setAuthenticatedUserAdmin": boolean,
  "serviceAccount": string,
  "kmsKeyName": string,
  "dataEncryptionState": {
    object (DataEncryptionState)
  },

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

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

  // Union field _internal_metadata can be only one of the following:
  "internalMetadata": string
  // End of list of possible types for union field _internal_metadata.
}
שדות
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".

displayName

string

זה שינוי אופציונלי. השם הידידותי למשתמש של המאגר.

gitRemoteSettings

object (GitRemoteSettings)

זה שינוי אופציונלי. אם ההגדרה מוגדרת, המאגר הזה מקושר למאגר Git מרוחק.

npmrcEnvironmentVariablesSecretVersion

string

זה שינוי אופציונלי. השם של הגרסה הסודית ב-Secret Manager שתשמש להצבת משתנים בקובץ ‎ .npmrc לפעולות התקנת חבילות. חייב להיות בפורמט projects/*/secrets/*/versions/*. הקובץ עצמו צריך להיות בפורמט JSON.

workspaceCompilationOverrides

object (WorkspaceCompilationOverrides)

זה שינוי אופציונלי. אם השדה הזה מוגדר, השדות של workspace_compilation_overrides מבטלים את הגדרות ההידור שמוגדרות כברירת מחדל ב-dataform.json כשיוצרים תוצאות הידור בהיקף סביבת העבודה. מידע נוסף זמין במאמרי העזרה בנושא WorkspaceCompilationOverrides.

labels

map (key: string, value: string)

זה שינוי אופציונלי. תוויות משתמשים במאגר.

אובייקט שמכיל רשימה של "key": value זוגות. לדוגמה: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

setAuthenticatedUserAdmin

boolean

זה שינוי אופציונלי. קלט בלבד. אם המדיניות מוגדרת כ-True, למשתמש המאומת יוקצה התפקיד roles/dataform.admin במאגר שנוצר. כדי לשנות את הגישה למאגר שנוצר, צריך להחיל את setIamPolicy מכתובת https://cloud.google.com/dataform/reference/rest#rest-resource:-v1beta1.projects.locations.repositories

serviceAccount

string

זה שינוי אופציונלי. חשבון השירות שדרכו יופעלו קריאות להפעלת תהליכי עבודה.

kmsKeyName

string

זה שינוי אופציונלי. ההפניה למפתח הצפנה של KMS. אם תספקו אותו, הוא ישמש להצפנת נתוני המשתמש במאגר ובכל משאבי הצאצאים. אי אפשר להוסיף או לעדכן את מפתח ההצפנה אחרי שיוצרים את המאגר. לדוגמה: projects/{kms_project}/locations/{location}/keyRings/{key_location}/cryptoKeys/{key}

dataEncryptionState

object (DataEncryptionState)

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

שדה איחוד _containing_folder.

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

containingFolder

string

זה שינוי אופציונלי. השם של התיקייה שמכילה את המאגר. השדה הזה הוא קבוע ואי אפשר לשנות אותו, אלא באמצעות פעולת MoveRepository. פורמט: projects/*/locations/*/folders/* או projects/*/locations/*/teamFolders/*.

שדה איחוד _team_folder_name.

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

teamFolderName

string

פלט בלבד. שם המשאב של התיקייה הקבוצתית שהמאגר הזה משויך אליה. הפורמט צריך להיות: projects/{project}/locations/{location}/teamFolders/{teamFolder}. אם לא מגדירים את זה, המאגר לא משויך לתיקיית צוות.

שדה איחוד _internal_metadata.

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

internalMetadata

string

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

חותמת הזמן

ייצוג 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, כולל.

GitRemoteSettings

ייצוג JSON
{
  "url": string,
  "defaultBranch": string,
  "effectiveDefaultBranch": string,
  "authenticationTokenSecretVersion": string,
  "sshAuthenticationConfig": {
    object (SshAuthenticationConfig)
  },
  "tokenStatus": enum (TokenStatus),

  // Union field _git_repository_link can be only one of the following:
  "gitRepositoryLink": string
  // End of list of possible types for union field _git_repository_link.
}
שדות
url

string

חובה. כתובת ה-URL של ה-remote ב-Git.

defaultBranch

string

זה שינוי אופציונלי. שם הענף שמוגדר כברירת מחדל ב-Git remote. אם לא מגדירים את המדיניות, המערכת תשתמש ב-main.

effectiveDefaultBranch

string

פלט בלבד. שם ברירת המחדל של הענף המרוחק ב-Git. זהו שם הענף שמוגדר כברירת מחדל ב-Git remote, אם הוא מוגדר. אחרת, זהו main.

authenticationTokenSecretVersion

string

זה שינוי אופציונלי. השם של גרסת הסוד ב-Secret Manager שבה רוצים להשתמש כאסימון אימות לפעולות Git. חייב להיות בפורמט projects/*/secrets/*/versions/*.

sshAuthenticationConfig

object (SshAuthenticationConfig)

זה שינוי אופציונלי. שדות אימות לכתובות URI מרוחקות באמצעות פרוטוקול SSH.

tokenStatus
(deprecated)

enum (TokenStatus)

פלט בלבד. הוצא משימוש: השדה לא מכיל מידע על סטטוס האסימון. במקום זאת, אפשר להשתמש בכתובת https://cloud.google.com/dataform/reference/rest/v1beta1/projects.locations.repositories/computeAccessTokenStatus

שדה איחוד _git_repository_link.

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

gitRepositoryLink

string

זה שינוי אופציונלי. שם המשאב של GitRepositoryLink שמשמש לאישורי מכונה. חייב להיות בפורמט projects/*/locations/*/connections/*/gitRepositoryLinks/*

SshAuthenticationConfig

ייצוג JSON
{
  "userPrivateKeySecretVersion": string,
  "hostPublicKey": string
}
שדות
userPrivateKeySecretVersion

string

חובה. השם של הגרסה הסודית ב-Secret Manager שבה רוצים להשתמש כמפתח פרטי של SSH לפעולות Git. חייב להיות בפורמט projects/*/secrets/*/versions/*.

hostPublicKey

string

חובה. תוכן של מפתח ציבורי SSH לאימות הזהות של מארח Git מרוחק.

WorkspaceCompilationOverrides

ייצוג JSON
{
  "defaultDatabase": string,
  "schemaSuffix": string,
  "tablePrefix": string
}
שדות
defaultDatabase

string

זה שינוי אופציונלי. מסד הנתונים שמוגדר כברירת מחדל (מזהה הפרויקט ב-Google Cloud).

schemaSuffix

string

זה שינוי אופציונלי. הסיומת שצריך להוסיף לכל השמות של הסכימות (מזהה מערך הנתונים ב-BigQuery).

tablePrefix

string

זה שינוי אופציונלי. הקידומת שצריך להוסיף לפני כל שמות הטבלאות.

LabelsEntry

ייצוג JSON
{
  "key": string,
  "value": string
}
שדות
key

string

value

string

DataEncryptionState

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

string

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

TokenStatus

הסטטוס של טוקן האימות.

טיפוסים בני מנייה (enum)
TOKEN_STATUS_UNSPECIFIED ערך ברירת המחדל. הערך הזה לא בשימוש.
NOT_FOUND לא נמצא טוקן ב-Secret Manager (או שלחשבון השירות של Dataform לא הייתה הרשאה לגשת אליו).
INVALID אי אפשר להשתמש בטוקן כדי לבצע אימות מול שרת Git מרוחק.
VALID הטוקן שימש לאימות מול שרת Git מרוחק.

סכימת הפלט

מייצג מאגר Git של Dataform.

מאגר

ייצוג JSON
{
  "name": string,
  "createTime": string,
  "displayName": string,
  "gitRemoteSettings": {
    object (GitRemoteSettings)
  },
  "npmrcEnvironmentVariablesSecretVersion": string,
  "workspaceCompilationOverrides": {
    object (WorkspaceCompilationOverrides)
  },
  "labels": {
    string: string,
    ...
  },
  "setAuthenticatedUserAdmin": boolean,
  "serviceAccount": string,
  "kmsKeyName": string,
  "dataEncryptionState": {
    object (DataEncryptionState)
  },

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

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

  // Union field _internal_metadata can be only one of the following:
  "internalMetadata": string
  // End of list of possible types for union field _internal_metadata.
}
שדות
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".

displayName

string

זה שינוי אופציונלי. השם הידידותי למשתמש של המאגר.

gitRemoteSettings

object (GitRemoteSettings)

זה שינוי אופציונלי. אם ההגדרה מוגדרת, המאגר הזה מקושר למאגר Git מרוחק.

npmrcEnvironmentVariablesSecretVersion

string

זה שינוי אופציונלי. השם של הגרסה הסודית ב-Secret Manager שתשמש להצבת משתנים בקובץ ‎ .npmrc לפעולות התקנת חבילות. חייב להיות בפורמט projects/*/secrets/*/versions/*. הקובץ עצמו צריך להיות בפורמט JSON.

workspaceCompilationOverrides

object (WorkspaceCompilationOverrides)

זה שינוי אופציונלי. אם השדה הזה מוגדר, השדות של workspace_compilation_overrides מבטלים את הגדרות ההידור שמוגדרות כברירת מחדל ב-dataform.json כשיוצרים תוצאות הידור בהיקף סביבת העבודה. מידע נוסף זמין במאמרי העזרה בנושא WorkspaceCompilationOverrides.

labels

map (key: string, value: string)

זה שינוי אופציונלי. תוויות משתמשים במאגר.

אובייקט שמכיל רשימה של "key": value זוגות. לדוגמה: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

setAuthenticatedUserAdmin

boolean

זה שינוי אופציונלי. קלט בלבד. אם המדיניות מוגדרת כ-True, למשתמש המאומת יוקצה התפקיד roles/dataform.admin במאגר שנוצר. כדי לשנות את הגישה למאגר שנוצר, צריך להחיל את setIamPolicy מכתובת https://cloud.google.com/dataform/reference/rest#rest-resource:-v1beta1.projects.locations.repositories

serviceAccount

string

זה שינוי אופציונלי. חשבון השירות שדרכו יופעלו קריאות להפעלת תהליכי עבודה.

kmsKeyName

string

זה שינוי אופציונלי. ההפניה למפתח הצפנה של KMS. אם תספקו אותו, הוא ישמש להצפנת נתוני המשתמש במאגר ובכל משאבי הצאצאים. אי אפשר להוסיף או לעדכן את מפתח ההצפנה אחרי שיוצרים את המאגר. לדוגמה: projects/{kms_project}/locations/{location}/keyRings/{key_location}/cryptoKeys/{key}

dataEncryptionState

object (DataEncryptionState)

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

שדה איחוד _containing_folder.

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

containingFolder

string

זה שינוי אופציונלי. השם של התיקייה שמכילה את המאגר. השדה הזה הוא קבוע ואי אפשר לשנות אותו, אלא באמצעות פעולת MoveRepository. פורמט: projects/*/locations/*/folders/* או projects/*/locations/*/teamFolders/*.

שדה איחוד _team_folder_name.

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

teamFolderName

string

פלט בלבד. שם המשאב של התיקייה הקבוצתית שהמאגר הזה משויך אליה. הפורמט צריך להיות: projects/{project}/locations/{location}/teamFolders/{teamFolder}. אם לא מגדירים את זה, המאגר לא משויך לתיקיית צוות.

שדה איחוד _internal_metadata.

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

internalMetadata

string

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

חותמת הזמן

ייצוג 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, כולל.

GitRemoteSettings

ייצוג JSON
{
  "url": string,
  "defaultBranch": string,
  "effectiveDefaultBranch": string,
  "authenticationTokenSecretVersion": string,
  "sshAuthenticationConfig": {
    object (SshAuthenticationConfig)
  },
  "tokenStatus": enum (TokenStatus),

  // Union field _git_repository_link can be only one of the following:
  "gitRepositoryLink": string
  // End of list of possible types for union field _git_repository_link.
}
שדות
url

string

חובה. כתובת ה-URL של ה-remote ב-Git.

defaultBranch

string

זה שינוי אופציונלי. שם הענף שמוגדר כברירת מחדל ב-Git remote. אם לא מגדירים את המדיניות, המערכת תשתמש ב-main.

effectiveDefaultBranch

string

פלט בלבד. שם ברירת המחדל של הענף המרוחק ב-Git. זהו שם הענף שמוגדר כברירת מחדל ב-Git remote, אם הוא מוגדר. אחרת, זהו main.

authenticationTokenSecretVersion

string

זה שינוי אופציונלי. השם של גרסת הסוד ב-Secret Manager שבה רוצים להשתמש כאסימון אימות לפעולות Git. חייב להיות בפורמט projects/*/secrets/*/versions/*.

sshAuthenticationConfig

object (SshAuthenticationConfig)

זה שינוי אופציונלי. שדות אימות לכתובות URI מרוחקות באמצעות פרוטוקול SSH.

tokenStatus
(deprecated)

enum (TokenStatus)

פלט בלבד. הוצא משימוש: השדה לא מכיל מידע על סטטוס האסימון. במקום זאת, אפשר להשתמש בכתובת https://cloud.google.com/dataform/reference/rest/v1beta1/projects.locations.repositories/computeAccessTokenStatus

שדה איחוד _git_repository_link.

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

gitRepositoryLink

string

זה שינוי אופציונלי. שם המשאב של GitRepositoryLink שמשמש לאישורי מכונה. חייב להיות בפורמט projects/*/locations/*/connections/*/gitRepositoryLinks/*

SshAuthenticationConfig

ייצוג JSON
{
  "userPrivateKeySecretVersion": string,
  "hostPublicKey": string
}
שדות
userPrivateKeySecretVersion

string

חובה. השם של הגרסה הסודית ב-Secret Manager שבה רוצים להשתמש כמפתח פרטי של SSH לפעולות Git. חייב להיות בפורמט projects/*/secrets/*/versions/*.

hostPublicKey

string

חובה. תוכן של מפתח ציבורי SSH לאימות הזהות של מארח Git מרוחק.

WorkspaceCompilationOverrides

ייצוג JSON
{
  "defaultDatabase": string,
  "schemaSuffix": string,
  "tablePrefix": string
}
שדות
defaultDatabase

string

זה שינוי אופציונלי. מסד הנתונים שמוגדר כברירת מחדל (מזהה הפרויקט ב-Google Cloud).

schemaSuffix

string

זה שינוי אופציונלי. הסיומת שצריך להוסיף לכל השמות של הסכימות (מזהה מערך הנתונים ב-BigQuery).

tablePrefix

string

זה שינוי אופציונלי. הקידומת שצריך להוסיף לפני כל שמות הטבלאות.

LabelsEntry

ייצוג JSON
{
  "key": string,
  "value": string
}
שדות
key

string

value

string

DataEncryptionState

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

string

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

TokenStatus

הסטטוס של טוקן האימות.

טיפוסים בני מנייה (enum)
TOKEN_STATUS_UNSPECIFIED ערך ברירת המחדל. הערך הזה לא בשימוש.
NOT_FOUND לא נמצא טוקן ב-Secret Manager (או שלחשבון השירות של Dataform לא הייתה הרשאה לגשת אליו).
INVALID אי אפשר להשתמש בטוקן כדי לבצע אימות מול שרת Git מרוחק.
VALID הטוקן שימש לאימות מול שרת Git מרוחק.

הערות על כלים

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

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

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

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