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

אם החלונית הימנית לא מוצגת, לוחצים על הרחבת החלונית הימנית כדי לפתוח אותה.
בחלונית Explorer, מרחיבים את הפרויקט, לוחצים על Datasets ובוחרים מערך נתונים.
לוחצים על הכרטיסייה פעולות שגרתיות.
SQL
שליחת שאילתה לתצוגה INFORMATION_SCHEMA.ROUTINES:
במסוף Cloud de Confiance , עוברים לדף BigQuery.
מזינים את ההצהרה הבאה בעורך השאילתות:
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
מבצעים קריאה ל-routines.list method עם מזהה מערך הנתונים.
הצגת התוכן של תרחיש
כדי לראות את גוף השגרה, צריך לקבל את ההרשאה bigquery.routines.get.
המסוף
נכנסים לדף BigQuery במסוף Cloud de Confiance .
בחלונית הימנית, לוחצים על כלי הניתוחים:

בחלונית Explorer, מרחיבים את הפרויקט, לוחצים על Datasets ובוחרים מערך נתונים.
לוחצים על הכרטיסייה פעולות שגרתיות.
בוחרים את התרחיש. גוף התרחיש מופיע בקטע Routine query.
SQL
בוחרים בעמודה routine_definition בתצוגה INFORMATION_SCHEMA.ROUTINES:
במסוף Cloud de Confiance , עוברים לדף BigQuery.
מזינים את ההצהרה הבאה בעורך השאילתות:
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 method עם מזהה מערך הנתונים והשם של השגרה. גוף הפונקציה מוחזר באובייקט Routine.
מחיקת תרחיש
כדי למחוק שגרה, צריכה להיות לכם הרשאה מסוג bigquery.routines.delete.
המסוף
נכנסים לדף BigQuery במסוף Cloud de Confiance .
בחלונית הימנית, לוחצים על כלי הניתוחים:

בחלונית Explorer, מרחיבים את הפרויקט, לוחצים על Datasets ובוחרים מערך נתונים.
לוחצים על הכרטיסייה פעולות שגרתיות.
בוחרים את התרחיש.
בחלונית הפרטים, לוחצים על מחיקה.
מקלידים
"delete"בתיבת הדו-שיח ולוחצים על מחיקה כדי לאשר.
SQL
בהתאם לסוג השגרה, מריצים אחת מהצהרות ה-DDL הבאות:
- תהליך מאוחסן:
DROP PROCEDURE - פונקציה בהגדרת המשתמש:
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 method עם מזהה מערך הנתונים והשם של השגרה.