כלי: 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 ( |
| שדות | |
|---|---|
parent |
חובה. המיקום שבו רוצים ליצור את המאגר. חייב להיות בפורמט |
repository |
חובה. המאגר שרוצים ליצור. |
repositoryId |
חובה. המזהה שבו יש להשתמש עבור המאגר, שיהפוך לרכיב הסופי של שם המשאב של המאגר. |
מאגר
| ייצוג JSON |
|---|
{ "name": string, "createTime": string, "displayName": string, "gitRemoteSettings": { object ( |
| שדות | |
|---|---|
name |
מזהה. שם המאגר. |
createTime |
פלט בלבד. חותמת הזמן של מועד יצירת המאגר. הפונקציה משתמשת ב-RFC 3339, והפלט שנוצר תמיד יהיה בפורמט Z עם 0, 3, 6 או 9 ספרות אחרי הנקודה. אפשר להשתמש גם בהיסטים אחרים, לא רק ב-Z. דוגמאות: |
displayName |
זה שינוי אופציונלי. השם הידידותי למשתמש של המאגר. |
gitRemoteSettings |
זה שינוי אופציונלי. אם ההגדרה מוגדרת, המאגר הזה מקושר למאגר Git מרוחק. |
npmrcEnvironmentVariablesSecretVersion |
זה שינוי אופציונלי. השם של הגרסה הסודית ב-Secret Manager שתשמש להצבת משתנים בקובץ .npmrc לפעולות התקנת חבילות. חייב להיות בפורמט |
workspaceCompilationOverrides |
זה שינוי אופציונלי. אם השדה הזה מוגדר, השדות של |
labels |
זה שינוי אופציונלי. תוויות משתמשים במאגר. אובייקט שמכיל רשימה של |
setAuthenticatedUserAdmin |
זה שינוי אופציונלי. קלט בלבד. אם המדיניות מוגדרת כ-True, למשתמש המאומת יוקצה התפקיד roles/dataform.admin במאגר שנוצר. כדי לשנות את הגישה למאגר שנוצר, צריך להחיל את setIamPolicy מכתובת https://cloud.google.com/dataform/reference/rest#rest-resource:-v1beta1.projects.locations.repositories |
serviceAccount |
זה שינוי אופציונלי. חשבון השירות שדרכו יופעלו קריאות להפעלת תהליכי עבודה. |
kmsKeyName |
זה שינוי אופציונלי. ההפניה למפתח הצפנה של KMS. אם תספקו אותו, הוא ישמש להצפנת נתוני המשתמש במאגר ובכל משאבי הצאצאים. אי אפשר להוסיף או לעדכן את מפתח ההצפנה אחרי שיוצרים את המאגר. לדוגמה: |
dataEncryptionState |
פלט בלבד. מצב הצפנת הנתונים של מאגר Git אם המאגר מוגן על ידי מפתח KMS. |
שדה איחוד הערך |
|
containingFolder |
זה שינוי אופציונלי. השם של התיקייה שמכילה את המאגר. השדה הזה הוא קבוע ואי אפשר לשנות אותו, אלא באמצעות פעולת MoveRepository. פורמט: |
שדה איחוד הערך |
|
teamFolderName |
פלט בלבד. שם המשאב של התיקייה הקבוצתית שהמאגר הזה משויך אליה. הפורמט צריך להיות: projects/{project}/locations/{location}/teamFolders/{teamFolder}. אם לא מגדירים את זה, המאגר לא משויך לתיקיית צוות. |
שדה איחוד הערך |
|
internalMetadata |
פלט בלבד. כל פרטי המטא-נתונים שמשמשים באופן פנימי להצגת המשאב. לדוגמה: חותמות זמן, דגלים, שדות סטטוס וכו'. הפורמט של השדה הזה הוא מחרוזת JSON. |
חותמת הזמן
| ייצוג 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, כולל. |
GitRemoteSettings
| ייצוג JSON |
|---|
{ "url": string, "defaultBranch": string, "effectiveDefaultBranch": string, "authenticationTokenSecretVersion": string, "sshAuthenticationConfig": { object ( |
| שדות | |
|---|---|
url |
חובה. כתובת ה-URL של ה-remote ב-Git. |
defaultBranch |
זה שינוי אופציונלי. שם הענף שמוגדר כברירת מחדל ב-Git remote. אם לא מגדירים את המדיניות, המערכת תשתמש ב- |
effectiveDefaultBranch |
פלט בלבד. שם ברירת המחדל של הענף המרוחק ב-Git. זהו שם הענף שמוגדר כברירת מחדל ב-Git remote, אם הוא מוגדר. אחרת, זהו |
authenticationTokenSecretVersion |
זה שינוי אופציונלי. השם של גרסת הסוד ב-Secret Manager שבה רוצים להשתמש כאסימון אימות לפעולות Git. חייב להיות בפורמט |
sshAuthenticationConfig |
זה שינוי אופציונלי. שדות אימות לכתובות URI מרוחקות באמצעות פרוטוקול SSH. |
tokenStatus |
פלט בלבד. הוצא משימוש: השדה לא מכיל מידע על סטטוס האסימון. במקום זאת, אפשר להשתמש בכתובת https://cloud.google.com/dataform/reference/rest/v1beta1/projects.locations.repositories/computeAccessTokenStatus |
שדה איחוד הערך |
|
gitRepositoryLink |
זה שינוי אופציונלי. שם המשאב של |
SshAuthenticationConfig
| ייצוג JSON |
|---|
{ "userPrivateKeySecretVersion": string, "hostPublicKey": string } |
| שדות | |
|---|---|
userPrivateKeySecretVersion |
חובה. השם של הגרסה הסודית ב-Secret Manager שבה רוצים להשתמש כמפתח פרטי של SSH לפעולות Git. חייב להיות בפורמט |
hostPublicKey |
חובה. תוכן של מפתח ציבורי SSH לאימות הזהות של מארח Git מרוחק. |
WorkspaceCompilationOverrides
| ייצוג JSON |
|---|
{ "defaultDatabase": string, "schemaSuffix": string, "tablePrefix": string } |
| שדות | |
|---|---|
defaultDatabase |
זה שינוי אופציונלי. מסד הנתונים שמוגדר כברירת מחדל (מזהה הפרויקט ב-Google Cloud). |
schemaSuffix |
זה שינוי אופציונלי. הסיומת שצריך להוסיף לכל השמות של הסכימות (מזהה מערך הנתונים ב-BigQuery). |
tablePrefix |
זה שינוי אופציונלי. הקידומת שצריך להוסיף לפני כל שמות הטבלאות. |
LabelsEntry
| ייצוג JSON |
|---|
{ "key": string, "value": string } |
| שדות | |
|---|---|
key |
|
value |
|
DataEncryptionState
| ייצוג JSON |
|---|
{ "kmsKeyVersionName": string } |
| שדות | |
|---|---|
kmsKeyVersionName |
חובה. שם גרסת מפתח ה-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 ( |
| שדות | |
|---|---|
name |
מזהה. שם המאגר. |
createTime |
פלט בלבד. חותמת הזמן של מועד יצירת המאגר. הפונקציה משתמשת ב-RFC 3339, והפלט שנוצר תמיד יהיה בפורמט Z עם 0, 3, 6 או 9 ספרות אחרי הנקודה. אפשר להשתמש גם בהיסטים אחרים, לא רק ב-Z. דוגמאות: |
displayName |
זה שינוי אופציונלי. השם הידידותי למשתמש של המאגר. |
gitRemoteSettings |
זה שינוי אופציונלי. אם ההגדרה מוגדרת, המאגר הזה מקושר למאגר Git מרוחק. |
npmrcEnvironmentVariablesSecretVersion |
זה שינוי אופציונלי. השם של הגרסה הסודית ב-Secret Manager שתשמש להצבת משתנים בקובץ .npmrc לפעולות התקנת חבילות. חייב להיות בפורמט |
workspaceCompilationOverrides |
זה שינוי אופציונלי. אם השדה הזה מוגדר, השדות של |
labels |
זה שינוי אופציונלי. תוויות משתמשים במאגר. אובייקט שמכיל רשימה של |
setAuthenticatedUserAdmin |
זה שינוי אופציונלי. קלט בלבד. אם המדיניות מוגדרת כ-True, למשתמש המאומת יוקצה התפקיד roles/dataform.admin במאגר שנוצר. כדי לשנות את הגישה למאגר שנוצר, צריך להחיל את setIamPolicy מכתובת https://cloud.google.com/dataform/reference/rest#rest-resource:-v1beta1.projects.locations.repositories |
serviceAccount |
זה שינוי אופציונלי. חשבון השירות שדרכו יופעלו קריאות להפעלת תהליכי עבודה. |
kmsKeyName |
זה שינוי אופציונלי. ההפניה למפתח הצפנה של KMS. אם תספקו אותו, הוא ישמש להצפנת נתוני המשתמש במאגר ובכל משאבי הצאצאים. אי אפשר להוסיף או לעדכן את מפתח ההצפנה אחרי שיוצרים את המאגר. לדוגמה: |
dataEncryptionState |
פלט בלבד. מצב הצפנת הנתונים של מאגר Git אם המאגר מוגן על ידי מפתח KMS. |
שדה איחוד הערך |
|
containingFolder |
זה שינוי אופציונלי. השם של התיקייה שמכילה את המאגר. השדה הזה הוא קבוע ואי אפשר לשנות אותו, אלא באמצעות פעולת MoveRepository. פורמט: |
שדה איחוד הערך |
|
teamFolderName |
פלט בלבד. שם המשאב של התיקייה הקבוצתית שהמאגר הזה משויך אליה. הפורמט צריך להיות: projects/{project}/locations/{location}/teamFolders/{teamFolder}. אם לא מגדירים את זה, המאגר לא משויך לתיקיית צוות. |
שדה איחוד הערך |
|
internalMetadata |
פלט בלבד. כל פרטי המטא-נתונים שמשמשים באופן פנימי להצגת המשאב. לדוגמה: חותמות זמן, דגלים, שדות סטטוס וכו'. הפורמט של השדה הזה הוא מחרוזת JSON. |
חותמת הזמן
| ייצוג 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, כולל. |
GitRemoteSettings
| ייצוג JSON |
|---|
{ "url": string, "defaultBranch": string, "effectiveDefaultBranch": string, "authenticationTokenSecretVersion": string, "sshAuthenticationConfig": { object ( |
| שדות | |
|---|---|
url |
חובה. כתובת ה-URL של ה-remote ב-Git. |
defaultBranch |
זה שינוי אופציונלי. שם הענף שמוגדר כברירת מחדל ב-Git remote. אם לא מגדירים את המדיניות, המערכת תשתמש ב- |
effectiveDefaultBranch |
פלט בלבד. שם ברירת המחדל של הענף המרוחק ב-Git. זהו שם הענף שמוגדר כברירת מחדל ב-Git remote, אם הוא מוגדר. אחרת, זהו |
authenticationTokenSecretVersion |
זה שינוי אופציונלי. השם של גרסת הסוד ב-Secret Manager שבה רוצים להשתמש כאסימון אימות לפעולות Git. חייב להיות בפורמט |
sshAuthenticationConfig |
זה שינוי אופציונלי. שדות אימות לכתובות URI מרוחקות באמצעות פרוטוקול SSH. |
tokenStatus |
פלט בלבד. הוצא משימוש: השדה לא מכיל מידע על סטטוס האסימון. במקום זאת, אפשר להשתמש בכתובת https://cloud.google.com/dataform/reference/rest/v1beta1/projects.locations.repositories/computeAccessTokenStatus |
שדה איחוד הערך |
|
gitRepositoryLink |
זה שינוי אופציונלי. שם המשאב של |
SshAuthenticationConfig
| ייצוג JSON |
|---|
{ "userPrivateKeySecretVersion": string, "hostPublicKey": string } |
| שדות | |
|---|---|
userPrivateKeySecretVersion |
חובה. השם של הגרסה הסודית ב-Secret Manager שבה רוצים להשתמש כמפתח פרטי של SSH לפעולות Git. חייב להיות בפורמט |
hostPublicKey |
חובה. תוכן של מפתח ציבורי SSH לאימות הזהות של מארח Git מרוחק. |
WorkspaceCompilationOverrides
| ייצוג JSON |
|---|
{ "defaultDatabase": string, "schemaSuffix": string, "tablePrefix": string } |
| שדות | |
|---|---|
defaultDatabase |
זה שינוי אופציונלי. מסד הנתונים שמוגדר כברירת מחדל (מזהה הפרויקט ב-Google Cloud). |
schemaSuffix |
זה שינוי אופציונלי. הסיומת שצריך להוסיף לכל השמות של הסכימות (מזהה מערך הנתונים ב-BigQuery). |
tablePrefix |
זה שינוי אופציונלי. הקידומת שצריך להוסיף לפני כל שמות הטבלאות. |
LabelsEntry
| ייצוג JSON |
|---|
{ "key": string, "value": string } |
| שדות | |
|---|---|
key |
|
value |
|
DataEncryptionState
| ייצוג JSON |
|---|
{ "kmsKeyVersionName": string } |
| שדות | |
|---|---|
kmsKeyVersionName |
חובה. שם גרסת מפתח ה-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, הכלי יכול ליצור אינטראקציה רק עם ישויות פנימיות. לדוגמה, כלי לחיפוש באינטרנט יהיה עולם פתוח, אבל כלי לזיכרון לא יהיה עולם פתוח.
רמז הרסני: ❌ | רמז אידמפוטנטי: ❌ | רמז לקריאה בלבד: ❌ | רמז לעולם פתוח: ❌