כלי: update_repository
לעדכן את המאפיינים של מאגר Dataform קיים, כמו הגדרות Git remote, שינויים בהגדרות של קומפילציה של סביבת העבודה או חשבון השירות שמוגדר כברירת מחדל.
תנאי מוקדם: לפני העדכון, צריך להשתמש בכלי get_repository כדי לקרוא את המצב הנוכחי של המאגר.
אם לא מציינים ערך לפרמטר update_mask, כל השדות שניתנים לשינוי נמחקים ומוחלפים בערכים שסופקו בפרמטר repository. כדי לשנות רק שדות ספציפיים בלי לנקות את השאר, מפרטים את השדות האלה ב-update_mask.
ערך הפרמטר repository.name צריך להיות בפורמט projects/{project_id}/locations/{location}/repositories/{repository}.
בדוגמת הקוד הבאה מוצג שימוש בפקודה curl כדי להפעיל את הכלי update_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": "update_repository", "arguments": { // Provide these details according to the MCP tool specification. } }, "jsonrpc": "2.0", "id": 1 }' |
סכימת הקלט
UpdateRepository הזמנה לצ'אט.
UpdateRepositoryRequest
| ייצוג JSON |
|---|
{
"updateMask": string,
"repository": {
object ( |
| שדות | |
|---|---|
updateMask |
זה שינוי אופציונלי. מציינים את השדות שרוצים לעדכן במאגר. אם לא תגדירו את המדיניות הזו, כל השדות יתעדכנו. זוהי רשימה של שמות שדות שמוגדרים במלואם, שמופרדים באמצעות פסיקים. דוגמה: |
repository |
חובה. המאגר לעדכון. |
FieldMask
| ייצוג JSON |
|---|
{ "paths": [ string ] } |
| שדות | |
|---|---|
paths[] |
קבוצת הנתיבים של אנונימיזציה של שדות. |
מאגר
| ייצוג 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, הכלי יכול ליצור אינטראקציה רק עם ישויות פנימיות. לדוגמה, כלי לחיפוש באינטרנט יהיה עולם פתוח, אבל כלי לזיכרון לא יהיה עולם פתוח.
רמז הרסני: ❌ | רמז אידמפוטנטי: ❌ | רמז לקריאה בלבד: ❌ | רמז לעולם פתוח: ❌