ניהול תרחישים
ניהול שגרות ב-BigQuery מאפשר לכם לארגן, לתחזק ולעשות שימוש חוזר בלוגיקה בהתאמה אישית במחסן הנתונים. כדי לנהל ביעילות את הפרוצדורות המאוחסנות, את הפונקציות בהגדרת המשתמש (UDF) ואת הפונקציות של הטבלאות, חשוב להבין איך יוצרים, מציגים ומוחקים את המשאבים האלה.
הרשאות
כדי להפנות לשגרה בשאילתת SQL, נדרשת ההרשאה bigquery.routines.get. כדי לתת גישה לשגרות, אתם יכולים להקצות תפקיד ב-IAM עם ההרשאה bigquery.routines.get במערך הנתונים או בשגרה הספציפית. כשנותנים גישה ברמת קבוצת הנתונים, לישות המורשית יש גישה לכל התרחישים בקבוצת הנתונים. מידע נוסף זמין במאמר שליטה בגישה למשאבים באמצעות IAM.
כברירת מחדל, אתם צריכים גם הרשאת גישה לכל המשאבים שהשגרה מפנה אליהם, כמו טבלאות או תצוגות. בפונקציות בהגדרת משתמש ובפונקציות טבלה, אתם יכולים לאשר לפונקציה לגשת למשאבים האלה בשם הגורם שמפעיל את הפונקציה. מידע נוסף מופיע במאמר פונקציות מורשות.
יצירת תרחיש
כדי ליצור שגרה, צריך את ההרשאה bigquery.routines.create.
SQL
בהתאם לסוג השגרה, מריצים אחת מהצהרות ה-DDL הבאות:
API
מפעילים את השיטה routines.insert עם משאב Routine מוגדר.
הצגת רשימת התרחישים
כדי להציג את רשימת השגרות במערך נתונים, צריך את ההרשאות bigquery.routines.get ו-bigquery.routines.list.
המסוף
נכנסים לדף BigQuery במסוף Google Cloud .
בחלונית השמאלית, לוחצים על Explorer:

אם החלונית הימנית לא מוצגת, לוחצים על הרחבת החלונית הימנית כדי לפתוח אותה.
בחלונית Explorer, מרחיבים את הפרויקט, לוחצים על Datasets ובוחרים קבוצת נתונים.
לוחצים על הכרטיסייה תרחישים.
SQL
שליחת שאילתה לתצוגה INFORMATION_SCHEMA.ROUTINES:
נכנסים לדף BigQuery במסוף Google Cloud .
בעורך השאילתות, מזינים את ההצהרה הבאה:
SELECT COLUMN_LIST FROM { DATASET | REGION }.INFORMATION_SCHEMA.ROUTINES;
לוחצים על הפעלה.
מידע נוסף על הרצת שאילתות זמין במאמר הרצת שאילתה אינטראקטיבית.
מחליפים את מה שכתוב בשדות הבאים:
- COLUMN_LIST: רשימה מופרדת בפסיקים של עמודות מהתצוגה
INFORMATION_SCHEMA.ROUTINES. - DATASET: השם של מערך נתונים בפרויקט.
- REGION: מזהה אזור.
דוגמה:
SELECT routine_name, routine_type, routine_body FROM mydataset.INFORMATION_SCHEMA.ROUTINES;
+------------------+----------------+--------------+
| routine_name | routine_type | routine_body |
+------------------+----------------+--------------+
| AddFourAndDivide | FUNCTION | SQL |
| create_customer | PROCEDURE | SQL |
| names_by_year | TABLE FUNCTION | SQL |
+------------------+----------------+--------------+
BQ
משתמשים בפקודה bq ls עם הדגל --routines:
bq ls --routines DATASET
מחליפים את מה שכתוב בשדות הבאים:
- DATASET: השם של מערך נתונים בפרויקט.
דוגמה:
bq ls --routines mydataset
Id Routine Type Language Creation Time Last Modified Time
------------------ ----------------------- ---------- ----------------- --------------------
AddFourAndDivide SCALAR_FUNCTION SQL 05 May 01:12:03 05 May 01:12:03
create_customer PROCEDURE SQL 21 Apr 19:55:51 21 Apr 19:55:51
names_by_year TABLE_VALUED_FUNCTION SQL 01 Sep 22:59:17 01 Sep 22:59:17
API
מפעילים את ה-method routines.list עם מזהה מערך הנתונים.
הצגת גוף התרחיש
כדי לראות את גוף השגרה, נדרשת ההרשאה bigquery.routines.get.
המסוף
נכנסים לדף BigQuery במסוף Google Cloud .
בחלונית השמאלית, לוחצים על Explorer:

בחלונית Explorer, מרחיבים את הפרויקט, לוחצים על Datasets ובוחרים קבוצת נתונים.
לוחצים על הכרטיסייה תרחישים.
בוחרים את התרחיש. גוף השגרה מופיע בקטע Routine query.
SQL
בוחרים את העמודה routine_definition בתצוגה INFORMATION_SCHEMA.ROUTINES:
נכנסים לדף BigQuery במסוף Google Cloud .
בעורך השאילתות, מזינים את ההצהרה הבאה:
SELECT routine_definition FROM { DATASET | REGION }.INFORMATION_SCHEMA.ROUTINES WHERE routine_name = ROUTINE_NAME;
לוחצים על הפעלה.
מידע נוסף על הרצת שאילתות זמין במאמר הרצת שאילתה אינטראקטיבית.
מחליפים את מה שכתוב בשדות הבאים:
- DATASET: השם של מערך נתונים בפרויקט.
- REGION: מזהה אזור.
- ROUTINE_NAME: שם התרחיש.
דוגמה:
SELECT routine_definition FROM mydataset.INFORMATION_SCHEMA.ROUTINES WHERE routine_name = 'AddFourAndDivide';
+--------------------+
| routine_definition |
+--------------------+
| (x + 4) / y |
+--------------------+
BQ
משתמשים בפקודה bq show עם הדגל --routine:
bq show --routine DATASET.ROUTINE_NAME
מחליפים את מה שכתוב בשדות הבאים:
- DATASET: השם של מערך נתונים בפרויקט.
- ROUTINE_NAME: שם התרחיש.
דוגמה:
bq show --routine mydataset.AddFourAndDivide
Id Routine Type Language Signature Definition Creation Time Last Modified Time
------------------ ----------------- ---------- ------------------------------- ------------- ----------------- --------------------
AddFourAndDivide SCALAR_FUNCTION SQL (x INT64, y INT64) -> FLOAT64 (x + 4) / y 05 May 01:12:03 05 May 01:12:03
API
מפעילים את השיטה routines.get עם מזהה קבוצת הנתונים ושם השגרה. גוף השגרה מוחזר באובייקט Routine.
מחיקת תרחיש
כדי למחוק שגרה, נדרשת ההרשאה bigquery.routines.delete.
המסוף
נכנסים לדף BigQuery במסוף Google Cloud .
בחלונית השמאלית, לוחצים על Explorer:

בחלונית Explorer, מרחיבים את הפרויקט, לוחצים על Datasets ובוחרים קבוצת נתונים.
לוחצים על הכרטיסייה תרחישים.
בוחרים את התרחיש.
בחלונית הפרטים, לוחצים על מחיקה.
מקלידים
"delete"בתיבת הדו-שיח ולוחצים על מחיקה כדי לאשר.
SQL
בהתאם לסוג השגרה, מריצים אחת מהצהרות ה-DDL הבאות:
- תהליך מאוחסן:
DROP PROCEDURE - פונקציה בהגדרת המשתמש (UDF):
DROP FUNCTION - פונקציית טבלה:
DROP TABLE FUNCTION
דוגמה:
DROP FUNCTION IF EXISTS mydataset.AddFourAndDivide
BQ
משתמשים בפקודה bq rm עם הדגל --routine:
bq rm --routine DATASET.ROUTINE_NAME
מחליפים את מה שכתוב בשדות הבאים:
- DATASET: השם של מערך נתונים בפרויקט.
- ROUTINE_NAME: שם התרחיש.
דוגמה:
bq rm --routine mydataset.AddFourAndDivide
API
מפעילים את השיטה routines.delete עם מזהה קבוצת הנתונים ושם השגרה.