MCP Tools Reference: bigquery.googleapis.com

כלי: get_dataset_info

קבלת מידע על מטא-נתונים של מערך נתונים ב-BigQuery.

בדוגמה הבאה אפשר לראות איך משתמשים ב-curl כדי להפעיל את כלי ה-MCP‏ get_dataset_info.

בקשת Curl
                  
curl --location 'https://bigquery.googleapis.com/mcp' \
--header 'content-type: application/json' \
--header 'accept: application/json, text/event-stream' \
--data '{
  "method": "tools/call",
  "params": {
    "name": "get_dataset_info",
    "arguments": {
      // provide these details according to the tool's MCP specification
    }
  },
  "jsonrpc": "2.0",
  "id": 1
}'
                

סכימת הקלט

בקשה למערך נתונים.

GetDatasetRequest

ייצוג ב-JSON
{
  "projectId": string,
  "datasetId": string
}
שדות
projectId

string

חובה. מזהה הפרויקט של בקשת קבוצת הנתונים.

datasetId

string

חובה. מזהה מערך הנתונים של בקשת מערך הנתונים.

סכימת פלט

מייצג מערך נתונים ב-BigQuery.

קבוצת הנתונים

ייצוג ב-JSON
{
  "kind": string,
  "etag": string,
  "id": string,
  "selfLink": string,
  "datasetReference": {
    object (DatasetReference)
  },
  "friendlyName": string,
  "description": string,
  "defaultTableExpirationMs": string,
  "defaultPartitionExpirationMs": string,
  "labels": {
    string: string,
    ...
  },
  "access": [
    {
      object (Access)
    }
  ],
  "creationTime": string,
  "lastModifiedTime": string,
  "location": string,
  "defaultEncryptionConfiguration": {
    object (EncryptionConfiguration)
  },
  "satisfiesPzs": boolean,
  "satisfiesPzi": boolean,
  "type": string,
  "linkedDatasetSource": {
    object (LinkedDatasetSource)
  },
  "linkedDatasetMetadata": {
    object (LinkedDatasetMetadata)
  },
  "externalDatasetReference": {
    object (ExternalDatasetReference)
  },
  "externalCatalogDatasetOptions": {
    object (ExternalCatalogDatasetOptions)
  },
  "isCaseInsensitive": boolean,
  "defaultCollation": string,
  "defaultRoundingMode": enum (RoundingMode),
  "maxTimeTravelHours": string,
  "tags": [
    {
      object (GcpTag)
    }
  ],
  "storageBillingModel": enum (StorageBillingModel),
  "restrictions": {
    object (RestrictionConfig)
  },
  "resourceTags": {
    string: string,
    ...
  }
}
שדות
kind

string

פלט בלבד. סוג המשאב.

etag

string

פלט בלבד. גיבוב (hash) של המשאב.

id

string

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

selfLink

string

פלט בלבד. כתובת URL שאפשר להשתמש בה כדי לגשת שוב למשאב. אפשר להשתמש בכתובת ה-URL הזו בבקשות Get או Update למשאב.

datasetReference

object (DatasetReference)

חובה. הפניה שמזהה את מערך הנתונים.

friendlyName

string

זה שינוי אופציונלי. שם תיאורי של מערך הנתונים.

description

string

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

defaultTableExpirationMs

string (Int64Value format)

זה שינוי אופציונלי. משך החיים שמוגדר כברירת מחדל לכל הטבלאות במערך הנתונים, באלפיות השנייה. ערך משך החיים המינימלי הוא 3,600,000 אלפיות השנייה (שעה אחת). כדי למחוק תאריך תפוגה קיים שמוגדר כברירת מחדל באמצעות בקשת PATCH, מגדירים את הערך ל-0. אחרי שמגדירים את המאפיין הזה, לכל הטבלאות החדשות שנוצרות במערך הנתונים מוגדר מאפיין expirationTime עם ערך ששווה לזמן היצירה בתוספת הערך של המאפיין הזה. שינוי הערך ישפיע רק על טבלאות חדשות, ולא על טבלאות קיימות. כשהזמן שנקבע ב-expirationTime של טבלה מסוימת מגיע, הטבלה נמחקת באופן אוטומטי. אם משנים את הערך של expirationTime בטבלה או מסירים אותו לפני שהתוקף של הטבלה פג, או אם מציינים ערך מפורש של expirationTime כשיוצרים טבלה, הערך הזה קודם לערך ברירת המחדל של תוקף הטבלה שמופיע במאפיין הזה.

defaultPartitionExpirationMs

string (Int64Value format)

תפוגת המחיצה שמוגדרת כברירת מחדל, באלפיות השנייה.

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

כשיוצרים טבלת מחיצות, אם הערך defaultPartitionExpirationMs מוגדר, המערכת מתעלמת מהערך defaultTableExpirationMs והטבלה לא מקבלת בירושה תאריך תפוגה.

labels

map (key: string, value: string)

התוויות שמשויכות למערך הנתונים הזה. אפשר להשתמש בהם כדי לארגן ולקבץ את מערכי הנתונים. אפשר להגדיר את המאפיין הזה כשמוסיפים או מעדכנים מערך נתונים. מידע נוסף זמין במאמר בנושא יצירה ועדכון של תוויות למערכי נתונים.

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

access[]

object (Access)

זה שינוי אופציונלי. מערך של אובייקטים שמגדירים גישה למערך נתונים עבור ישות אחת או יותר. אתם יכולים להגדיר את המאפיין הזה כשאתם מוסיפים או מעדכנים מערך נתונים, כדי לקבוע למי מותר לגשת לנתונים. אם לא מציינים את זה בזמן יצירת מערך הנתונים, BigQuery מוסיף גישה למערך הנתונים כברירת מחדל עבור הישויות הבאות: access.specialGroup: projectReaders; access.role: READER; access.specialGroup: projectWriters; access.role: WRITER; access.specialGroup: projectOwners; access.role: OWNER; access.userByEmail: [dataset creator email]; access.role: OWNER; אם מבצעים תיקון של מערך נתונים, השדה הזה נכתב מחדש על ידי שדה הגישה של מערך הנתונים המתוקן. כדי להוסיף ישויות, צריך לספק את כל מערך הגישה הקיים, בנוסף לכל ישות חדשה שרוצים להוסיף.

creationTime

string (int64 format)

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

lastModifiedTime

string (int64 format)

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

location

string

המיקום הגיאוגרפי שבו מערך הנתונים צריך להיות. מיקומים נתמכים מפורטים בכתובת https://cloud.google.com/bigquery/docs/locations.

defaultEncryptionConfiguration

object (EncryptionConfiguration)

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

satisfiesPzs

boolean

פלט בלבד. שמור לשימוש בעתיד.

satisfiesPzi

boolean

פלט בלבד. שמור לשימוש בעתיד.

type

string

פלט בלבד. בדיוק כמו במלון type בListFormatDataset. סוג קבוצת הנתונים, אחד מהערכים הבאים:

  • ברירת מחדל – הגישה מותרת רק לבעלים ולחשבונות מורשים,
  • ציבורי – כולם יכולים לגשת אליו,
  • מקושרת – קבוצת נתונים מקושרת,
  • EXTERNAL – מערך נתונים עם הגדרה בקטלוג מטא-נתונים חיצוני.
linkedDatasetSource

object (LinkedDatasetSource)

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

linkedDatasetMetadata

object (LinkedDatasetMetadata)

פלט בלבד. מטא-נתונים על LinkedDataset. השדה הזה מתמלא כשסוג מערך הנתונים הוא LINKED.

externalDatasetReference

object (ExternalDatasetReference)

זה שינוי אופציונלי. הפניה למערך נתונים חיצוני לקריאה בלבד שמוגדר בקטלוגים של נתונים מחוץ ל-BigQuery. השדה הזה מתמלא כשסוג מערך הנתונים הוא EXTERNAL.

externalCatalogDatasetOptions

object (ExternalCatalogDatasetOptions)

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

isCaseInsensitive

boolean

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

defaultCollation

string

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

  • ‫‎'und:ci': לוקאל לא מוגדר, לא תלוי רישיות.
  • ‫'': מחרוזת ריקה. ברירת המחדל היא התנהגות תלוית אותיות רישיות.
defaultRoundingMode

enum (RoundingMode)

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

maxTimeTravelHours

string (Int64Value format)

זה שינוי אופציונלי. הגדרת חלון הזמן של הנסיעה בשעות. הערך יכול להיות בין 48 ל-168 שעות (בין יומיים ל-7 ימים). אם לא מגדירים ערך, ברירת המחדל היא 168 שעות.

tags[]
(deprecated)

object (GcpTag)

פלט בלבד. תגים של קבוצת הנתונים. כדי לספק תגים כקלט, משתמשים בשדה resourceTags.

storageBillingModel

enum (StorageBillingModel)

זה שינוי אופציונלי. מעדכן את הערך של storage_billing_model במערך הנתונים.

restrictions

object (RestrictionConfig)

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

resourceTags

map (key: string, value: string)

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

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

DatasetReference

ייצוג ב-JSON
{
  "datasetId": string,
  "projectId": string
}
שדות
datasetId

string

חובה. מזהה ייחודי של קבוצת הנתונים, ללא שם הפרויקט. המזהה חייב להכיל רק אותיות (a-z, A-Z), מספרים (0-9) או קווים תחתונים (_). האורך המקסימלי הוא 1,024 תווים.

projectId

string

זה שינוי אופציונלי. מזהה הפרויקט שמכיל את מערך הנתונים הזה.

StringValue

ייצוג ב-JSON
{
  "value": string
}
שדות
value

string

ערך המחרוזת.

Int64Value

ייצוג ב-JSON
{
  "value": string
}
שדות
value

string (int64 format)

הערך int64.

LabelsEntry

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

string

value

string

גישה

ייצוג ב-JSON
{
  "role": string,
  "userByEmail": string,
  "groupByEmail": string,
  "domain": string,
  "specialGroup": string,
  "iamMember": string,
  "view": {
    object (TableReference)
  },
  "routine": {
    object (RoutineReference)
  },
  "dataset": {
    object (DatasetAccessEntry)
  },
  "condition": {
    object (Expr)
  }
}
שדות
role

string

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

  • OWNER: roles/bigquery.dataOwner
  • WRITER: ‏roles/bigquery.dataEditor
  • READER: roles/bigquery.dataViewer

בשדה הזה אפשר להזין כל אחד מהפורמטים שלמעלה, אבל המערכת תחזיר רק את הפורמט הקודם. לדוגמה, אם מגדירים את השדה הזה ל-roles/bigquery.dataOwner, הוא יוחזר כ-OWNER.

userByEmail

string

[Pick one] כתובת אימייל של משתמש שרוצים להעניק לו גישה. לדוגמה: fred@example.com. ממופה לחבר במדיניות IAM ‏user:EMAIL או serviceAccount:EMAIL.

groupByEmail

string

[Pick one] כתובת אימייל של קבוצה ב-Google להענקת גישה. ממופה לחבר במדיניות IAM ‏group:GROUP.

domain

string

[Pick one] דומיין להענקת גישה. כל משתמש שמחובר באמצעות הדומיין שצוין יקבל את הגישה שצוינה. לדוגמה: example.com. מפות לחבר במדיניות IAM‏ domain:DOMAIN.

specialGroup

string

[Pick one] קבוצה מיוחדת להענקת גישה. הערכים האפשריים כוללים:

  • projectOwners: בעלי הפרויקט שכולל את הפרויקט הנוכחי.
  • projectReaders: משתמשים עם הרשאת קריאה בפרויקט המצורף.
  • projectWriters: משתמשים עם הרשאת כתיבה בפרויקט המצורף.
  • allAuthenticatedUsers: כל המשתמשים המאומתים ב-BigQuery.

מיפוי לחברי IAM עם שמות דומים.

iamMember

string

[Pick one] Some other type of member that appears in the IAM Policy but isn't a user, group, domain, or special group.

view

object (TableReference)

[Pick one] תצוגה מפורטת ממערך נתונים אחר שרוצים לתת לו גישה. לשאילתות שמופעלות על התצוגה הזו תהיה גישת קריאה לתצוגות/טבלאות/שגרות במערך הנתונים הזה. אם השדה הזה מוגדר, לא צריך למלא את שדה התפקיד. אם משתמש כלשהו מעדכן את התצוגה הזו, צריך להעניק שוב גישה לתצוגה באמצעות פעולת עדכון.

routine

object (RoutineReference)

[Pick one] שגרה ממערך נתונים אחר שרוצים להעניק לו גישה. לשאילתות שמופעלות מול השגרה הזו תהיה גישת קריאה לתצוגות/טבלאות/שגרות במערך הנתונים הזה. בשלב הזה יש תמיכה רק ב-UDF. אם השדה הזה מוגדר, לא צריך למלא את שדה התפקיד. אם משתמש כלשהו מעדכן את השגרה, צריך להעניק שוב גישה לשגרה באמצעות פעולת עדכון.

dataset

object (DatasetAccessEntry)

[Pick one] A grant authorizing all resources of a particular type in a particular dataset access to this dataset. בשלב הזה יש תמיכה רק בתצוגות. אם השדה הזה מוגדר, לא צריך למלא את שדה התפקיד. אם מערך הנתונים הזה נמחק ונוצר מחדש, צריך להעניק לו שוב הרשאת גישה באמצעות פעולת עדכון.

condition

object (Expr)

אופציונלי. תנאי לקישור. אם הביטוי של CEL בשדה הזה הוא True, הקישור הזה של הרשאות הגישה ייחשב

TableReference

ייצוג ב-JSON
{
  "projectId": string,
  "datasetId": string,
  "tableId": string
}
שדות
projectId

string

חובה. מזהה הפרויקט שמכיל את הטבלה הזו.

datasetId

string

חובה. המזהה של קבוצת הנתונים שמכילה את הטבלה הזו.

tableId

string

חובה. המזהה של הטבלה. המזהה יכול להכיל תווים ב-Unicode בקטגוריות L (אות), M (סימן), N (מספר), Pc (מחבר, כולל קו תחתון), Pd (מקף) ו-Zs (רווח). מידע נוסף זמין במאמר בנושא קטגוריה כללית. האורך המקסימלי הוא 1,024 תווים. פעולות מסוימות מאפשרות להוסיף למזהה הטבלה סיומת של קישוט מחיצה, כמו sample_table$20190123.

RoutineReference

ייצוג ב-JSON
{
  "projectId": string,
  "datasetId": string,
  "routineId": string
}
שדות
projectId

string

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

datasetId

string

חובה. המזהה של מערך הנתונים שמכיל את התרחיש הזה.

routineId

string

חובה. המזהה של השגרה. המזהה חייב להכיל רק אותיות (a-z, A-Z), מספרים (0-9) או קווים תחתונים (_). האורך המקסימלי הוא 256 תווים.

DatasetAccessEntry

ייצוג ב-JSON
{
  "dataset": {
    object (DatasetReference)
  },
  "targetTypes": [
    enum (TargetType)
  ]
}
שדות
dataset

object (DatasetReference)

מערך הנתונים שהרשומה הזו רלוונטית לגביו

targetTypes[]

enum (TargetType)

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

Expr

ייצוג ב-JSON
{
  "expression": string,
  "title": string,
  "description": string,
  "location": string
}
שדות
expression

string

ייצוג טקסטואלי של ביטוי בתחביר של Common Expression Language.

title

string

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

description

string

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

location

string

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

EncryptionConfiguration

ייצוג ב-JSON
{
  "kmsKeyName": string
}
שדות
kmsKeyName

string

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

BoolValue

ייצוג ב-JSON
{
  "value": boolean
}
שדות
value

boolean

הערך הבוליאני.

LinkedDatasetSource

ייצוג ב-JSON
{
  "sourceDataset": {
    object (DatasetReference)
  }
}
שדות
sourceDataset

object (DatasetReference)

ההפניה למערך נתוני המקור מכילה מספרי פרויקטים ולא מזהי פרויקטים.

LinkedDatasetMetadata

ייצוג ב-JSON
{
  "linkState": enum (LinkState)
}
שדות
linkState

enum (LinkState)

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

ExternalDatasetReference

ייצוג ב-JSON
{
  "externalSource": string,
  "connection": string
}
שדות
externalSource

string

חובה. מקור חיצוני שמגבה את מערך הנתונים הזה.

connection

string

חובה. מזהה החיבור שמשמש לגישה אל external_source.

הפורמט: projects/{project_id}/locations/{location_id}/connections/{connection_id}

ExternalCatalogDatasetOptions

ייצוג ב-JSON
{
  "parameters": {
    string: string,
    ...
  },
  "defaultStorageLocationUri": string
}
שדות
parameters

map (key: string, value: string)

זה שינוי אופציונלי. מיפוי של צמדי מפתח-ערך שמגדירים את הפרמטרים והמאפיינים של סכימת הקוד הפתוח. גודל מקסימלי של 2MiB.

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

defaultStorageLocationUri

string

זה שינוי אופציונלי. ה-URI של מיקום האחסון של כל הטבלאות במערך הנתונים. מקביל ל-database locationUri של hive metastore. האורך המרבי הוא 1,024 תווים.

ParametersEntry

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

string

value

string

GcpTag

ייצוג ב-JSON
{
  "tagKey": string,
  "tagValue": string
}
שדות
tagKey

string

חובה. הכינוי של מפתח התג ממרחב השמות, למשל '12345/environment' כאשר 12345 הוא מזהה הארגון.

tagValue

string

חובה. השם המקוצר של ערך התג, למשל 'ייצור'.

RestrictionConfig

ייצוג ב-JSON
{
  "type": enum (RestrictionType)
}
שדות
type

enum (RestrictionType)

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

ResourceTagsEntry

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

string

value

string

הערות על כלי

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