כלי: query_compilation_actions
מחזירה את הפעולות של תוצאת ההידור (compilation) של Dataform.
ערך הפרמטר name צריך להיות בפורמט projects/{project_id}/locations/{location}/repositories/{repository}/compilationResults/{compilation_result}.
בדוגמה הבאה אפשר לראות איך משתמשים ב-curl כדי להפעיל את כלי ה-MCP query_compilation_actions.
| בקשת 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": "query_compilation_actions", "arguments": { // provide these details according to the tool's MCP specification } }, "jsonrpc": "2.0", "id": 1 }' |
סכימת הקלט
QueryCompilationResultActions הזמנה לצ'אט.
QueryCompilationResultActionsRequest
| ייצוג JSON |
|---|
{ "name": string, "pageSize": integer, "pageToken": string, "filter": string } |
| שדות | |
|---|---|
name |
חובה. השם של תוצאת ההידור. |
pageSize |
זה שינוי אופציונלי. מספר התוצאות המקסימלי של הקומפילציה שיוחזרו. יכול להיות שהשרת יחזיר פחות פריטים מהמספר שצוין בבקשה. אם לא מציינים ערך, השרת יבחר ברירת מחדל מתאימה. |
pageToken |
זה שינוי אופציונלי. טוקן של דף שהתקבל מקריאה קודמת של כשמבצעים חלוקה לעמודים, כל הפרמטרים האחרים שסופקו ל- |
filter |
זה שינוי אופציונלי. מסנן אופציונלי לרשימה שמוחזרת. בשלב הזה, אפשר לסנן רק את השדה |
סכימת הפלט
QueryCompilationResultActions הודעת תגובה.
QueryCompilationResultActionsResponse
| ייצוג JSON |
|---|
{
"compilationResultActions": [
{
object ( |
| שדות | |
|---|---|
compilationResultActions[] |
רשימה של פעולות שקשורות לתוצאות ההידור. |
nextPageToken |
טוקן שאפשר לשלוח כ- |
CompilationResultAction
| ייצוג JSON |
|---|
{ "target": { object ( |
| שדות | |
|---|---|
target |
המזהה של הפעולה הזו. ייחודי בתוצאת ההידור. |
canonicalTarget |
המזהה של הפעולה אם הפרויקט עבר קומפילציה בלי להגדיר החלפות. ייחודי בתוצאת ההידור. |
filePath |
הנתיב המלא כולל שם הקובץ שבו הפעולה הזו ממוקמת, ביחס לשורש של סביבת העבודה. |
שדה איחוד compiled_object. האובייקט שעבר קומפילציה. הערך compiled_object יכול להיות רק אחד מהבאים: |
|
relation |
הקשר בין מסדי הנתונים שנוצר או עודכן על ידי הפעולה הזו. |
operations |
פעולות מסד הנתונים שבוצעו על ידי הפעולה הזו. |
assertion |
הטענה שהופעלה על ידי הפעולה הזו. |
declaration |
ההצהרה שהוגדרה על ידי הפעולה הזו. |
notebook |
ה-notebook שהורץ על ידי הפעולה הזו. |
dataPreparation |
הכנת הנתונים שמתבצעת על ידי הפעולה הזו. |
שדה איחוד הערך |
|
internalMetadata |
פלט בלבד. כל פרטי המטא-נתונים שמשמשים באופן פנימי להצגת המשאב. לדוגמה: חותמות זמן, דגלים, שדות סטטוס וכו'. הפורמט של השדה הזה הוא מחרוזת JSON. |
קשר
| ייצוג JSON |
|---|
{ "dependencyTargets": [ { object ( |
| שדות | |
|---|---|
dependencyTargets[] |
רשימה של פעולות שהפעולה הזו תלויה בהן. |
disabled |
האם הפעולה הזו מושבתת (כלומר, לא אמורה לפעול). |
tags[] |
תגים שרירותיים שהמשתמש מגדיר לפעולה הזו. |
relationDescriptor |
תיאור של היחס והעמודות שלו. |
relationType |
סוג הקשר. |
selectQuery |
שאילתת ה-SELECT שמחזירה את השורות שהקשר הזה צריך להכיל. |
preOperations[] |
הוראות SQL שיש להריץ לפני יצירת הקשר. |
postOperations[] |
הצהרות SQL שיבוצעו אחרי יצירת הקשר. |
incrementalTableConfig |
ההגדרה הזו קובעת את ההגדרות של |
partitionExpression |
ביטוי ה-SQL שמשמש לחלוקת היחס למחיצות. |
clusterExpressions[] |
רשימה של עמודות או ביטויי SQL שמשמשים לאשכול של הטבלה. |
partitionExpirationDays |
הגדרת תפוגת המחיצה בימים. |
requirePartitionFilter |
קובעת אם שאילתות בטבלה הזו צריכות לכלול מסנן של תנאי שפועל על עמודת החלוקה למחיצות. |
additionalOptions |
אפשרויות נוספות שיועברו כצמדי מפתח/ערך לסעיף האפשרויות של הצהרת יצירת טבלה/תצוגה. מידע נוסף על האפשרויות הנתמכות זמין בכתובת https://cloud.google.com/bigquery/docs/reference/standard-sql/data-definition-language. אובייקט שמכיל רשימה של |
connection |
זה שינוי אופציונלי. החיבור שמציין את פרטי הכניסה שישמשו לקריאה וכתיבה באחסון חיצוני, כמו Cloud Storage. החיבור יכול להיות בפורמט |
tableFormat |
זה שינוי אופציונלי. פורמט הטבלה של הטבלה ב-BigQuery. |
fileFormat |
זה שינוי אופציונלי. פורמט הקובץ של הטבלה ב-BigQuery. |
storageUri |
זה שינוי אופציונלי. קידומת המיקום המלאה של התיקייה החיצונית שבה מאוחסנים נתוני הטבלה. ה-URI צריך להיות בפורמט |
יעד
| ייצוג JSON |
|---|
{ "database": string, "schema": string, "name": string } |
| שדות | |
|---|---|
database |
זה שינוי אופציונלי. מסד הנתונים של הפעולה (מזהה הפרויקט ב-Google Cloud) . |
schema |
זה שינוי אופציונלי. הסכימה של הפעולה (מזהה מערך הנתונים ב-BigQuery), בתוך |
name |
זה שינוי אופציונלי. שם הפעולה, בתוך |
RelationDescriptor
| ייצוג JSON |
|---|
{
"description": string,
"columns": [
{
object ( |
| שדות | |
|---|---|
description |
תיאור טקסטואלי של הקשר. |
columns[] |
רשימה של תיאורי העמודות ביחס. |
bigqueryLabels |
קבוצה של תוויות BigQuery שצריך להחיל על הקשר. אובייקט שמכיל רשימה של |
ColumnDescriptor
| ייצוג JSON |
|---|
{ "path": [ string ], "description": string, "bigqueryPolicyTags": [ string ] } |
| שדות | |
|---|---|
path[] |
המזהה של העמודה. כל רשומה ב- |
description |
תיאור מילולי של העמודה. |
bigqueryPolicyTags[] |
רשימה של תגי מדיניות ב-BigQuery שיוחלו על העמודה. |
BigqueryLabelsEntry
| ייצוג JSON |
|---|
{ "key": string, "value": string } |
| שדות | |
|---|---|
key |
|
value |
|
IncrementalTableConfig
| ייצוג JSON |
|---|
{ "incrementalSelectQuery": string, "refreshDisabled": boolean, "uniqueKeyParts": [ string ], "updatePartitionFilter": string, "incrementalPreOperations": [ string ], "incrementalPostOperations": [ string ] } |
| שדות | |
|---|---|
incrementalSelectQuery |
שאילתת ה-SELECT שמחזירה שורות שצריך להוסיף לקשר אם הוא כבר קיים ולא מתבצע בו רענון. |
refreshDisabled |
האם הטבלה הזו צריכה להיות מוגנת מפני רענון. |
uniqueKeyParts[] |
קבוצה של עמודות או ביטויי SQL שמשמשים להגדרת הייחודיות של השורה. אם נמצאו כפילויות (כפי שמוגדר על ידי |
updatePartitionFilter |
ביטוי SQL מותנה שמשמש להגבלת קבוצת השורות הקיימות שנלקחות בחשבון בפעולת מיזוג (מידע נוסף מופיע בקטע |
incrementalPreOperations[] |
הצהרות SQL שיש להריץ לפני הוספת שורות חדשות ליחס. |
incrementalPostOperations[] |
משפטי SQL שיבוצעו אחרי הוספת שורות חדשות ליחס. |
AdditionalOptionsEntry
| ייצוג JSON |
|---|
{ "key": string, "value": string } |
| שדות | |
|---|---|
key |
|
value |
|
תפעול
| ייצוג JSON |
|---|
{ "dependencyTargets": [ { object ( |
| שדות | |
|---|---|
dependencyTargets[] |
רשימה של פעולות שהפעולה הזו תלויה בהן. |
disabled |
האם הפעולה הזו מושבתת (כלומר, לא אמורה לפעול). |
tags[] |
תגים שרירותיים שהמשתמש מגדיר לפעולה הזו. |
relationDescriptor |
מתאר של כל יחס פלט והעמודות שלו. הגדרה אפשרית רק אם |
queries[] |
רשימה של הצהרות SQL שרירותיות שיופעלו ללא שינוי. |
hasOutput |
האם הפעולות האלה יוצרות יחס פלט. |
טענת נכוֹנוּת (assertion
| ייצוג JSON |
|---|
{ "dependencyTargets": [ { object ( |
| שדות | |
|---|---|
dependencyTargets[] |
רשימה של פעולות שהפעולה הזו תלויה בהן. |
parentAction |
פעולת ההורה של הטענה הזו. הגדרה רק אם הטענה הזו נוצרה באופן אוטומטי. |
disabled |
האם הפעולה הזו מושבתת (כלומר, לא אמורה לפעול). |
tags[] |
תגים שרירותיים שהמשתמש מגדיר לפעולה הזו. |
selectQuery |
שאילתת ה-SELECT שצריכה להחזיר אפס שורות כדי שהטענה הזו תצליח. |
relationDescriptor |
תיאור של התצוגה שנוצרה אוטומטית של האסרטיב והעמודות שלה. |
הצהרה
| ייצוג JSON |
|---|
{
"relationDescriptor": {
object ( |
| שדות | |
|---|---|
relationDescriptor |
תיאור של היחס והעמודות שלו. השימוש הוא רק לצורך תיעוד, כלומר הערכים כאן לא יגרמו לשינויים במטא-נתונים של הקשר. |
Notebook
| ייצוג JSON |
|---|
{
"dependencyTargets": [
{
object ( |
| שדות | |
|---|---|
dependencyTargets[] |
רשימה של פעולות שהפעולה הזו תלויה בהן. |
disabled |
האם הפעולה הזו מושבתת (כלומר, לא אמורה לפעול). |
contents |
התוכן של ה-Notebook. |
tags[] |
תגים שרירותיים שהמשתמש מגדיר לפעולה הזו. |
DataPreparation
| ייצוג JSON |
|---|
{ "dependencyTargets": [ { object ( |
| שדות | |
|---|---|
dependencyTargets[] |
רשימה של פעולות שהפעולה הזו תלויה בהן. |
disabled |
האם הפעולה הזו מושבתת (כלומר, לא אמורה לפעול). |
tags[] |
תגים שרירותיים שהמשתמש מגדיר לפעולה הזו. |
שדה איחוד definition. ההגדרה של הכנת הנתונים. הערך definition יכול להיות רק אחד מהבאים: |
|
contentsYaml |
ההגדרה של הכנת הנתונים, מאוחסנת כמחרוזת YAML. |
contentsSql |
הגדרת SQL להכנת נתונים. מכיל שאילתת SQL ומידע נוסף על ההקשר. |
SqlDefinition
| ייצוג JSON |
|---|
{ "query": string, "errorTable": { object ( |
| שדות | |
|---|---|
query |
שאילתת ה-SQL שמייצגת את השלבים של הכנת הנתונים. מעוצב כהצהרת שאילתת SQL עם תו צינור. |
errorTable |
שגיאה בהגדרת הטבלה, |
load |
טוענים את ההגדרות. |
ErrorTable
| ייצוג JSON |
|---|
{
"target": {
object ( |
| שדות | |
|---|---|
target |
שגיאה בטבלת היעד. |
retentionDays |
שגיאה בתוקף החלוקה של הטבלה למחיצות בימים. אפשר להשתמש רק בערכים חיוביים. |
LoadConfig
| ייצוג JSON |
|---|
{ // Union field |
| שדות | |
|---|---|
שדה איחוד mode. הערך של מצב הטעינה mode יכול להיות רק אחד מהבאים: |
|
replace |
החלפת טבלת היעד |
append |
הוספה לטבלת היעד |
maximum |
הוספת רשומות שבהן הערך גבוה מהערך המקסימלי הקודם בעמודה בטבלת היעד |
unique |
הוספת רשומות שבהן הערך של עמודה מסוימת לא מופיע כבר בטבלת היעד |
IncrementalLoadMode
| ייצוג JSON |
|---|
{ "column": string } |
| שדות | |
|---|---|
column |
שם העמודה במצבי טעינה מצטברת |
RelationType
מציין את סוג הקשר.
| טיפוסים בני מנייה (enum) | |
|---|---|
RELATION_TYPE_UNSPECIFIED |
ערך ברירת המחדל. הערך הזה לא בשימוש. |
TABLE |
הקשר הוא טבלה. |
VIEW |
הקשר הוא תצוגה. |
INCREMENTAL_TABLE |
הקשר הוא טבלה מצטברת. |
MATERIALIZED_VIEW |
הקשר הוא תצוגה מהותית. |
TableFormat
פורמטים נתמכים של טבלאות ב-BigQuery.
| טיפוסים בני מנייה (enum) | |
|---|---|
TABLE_FORMAT_UNSPECIFIED |
ערך ברירת המחדל. |
ICEBERG |
פורמט Apache Iceberg. |
FileFormat
פורמטים נתמכים של קבצים לטבלאות ב-BigQuery.
| טיפוסים בני מנייה (enum) | |
|---|---|
FILE_FORMAT_UNSPECIFIED |
ערך ברירת המחדל. |
PARQUET |
פורמט Apache Parquet. |
הערות על כלים
רמז הרסני: ❌ | רמז אידמפוטנטי: ✅ | רמז לקריאה בלבד: ✅ | רמז לעולם פתוח: ❌