תצוגת ROUTINES
התצוגה INFORMATION_SCHEMA.ROUTINES מכילה שורה אחת לכל שגרה במערך נתונים.
ההרשאות הנדרשות
כדי לשלוח שאילתה לתצוגה INFORMATION_SCHEMA.ROUTINES, צריך את ההרשאות הבאות בממשק לניהול זהויות והרשאות גישה (IAM):
bigquery.routines.getbigquery.routines.list
כל אחד מתפקידי ה-IAM המוגדרים מראש הבאים כולל את ההרשאות שדרושות לכם כדי לקבל מטא-נתונים שגרתיים:
roles/bigquery.adminroles/bigquery.metadataViewerroles/bigquery.dataViewer
מידע נוסף על הרשאות ב-BigQuery זמין במאמר בקרת גישה באמצעות IAM.
סכימה
כשמריצים שאילתה בתצוגה INFORMATION_SCHEMA.ROUTINES, תוצאות השאילתה מכילות שורה אחת לכל שגרה במערך נתונים.
לתצוגה INFORMATION_SCHEMA.ROUTINES יש את הסכימה הבאה:
| שם העמודה | סוג נתונים | ערך |
|---|---|---|
specific_catalog |
STRING |
שם הפרויקט שמכיל את מערך הנתונים שבו מוגדרת הפרוצדורה |
specific_schema |
STRING |
השם של מערך הנתונים שמכיל את השגרה |
specific_name |
STRING |
שם התרחיש |
routine_catalog |
STRING |
שם הפרויקט שמכיל את מערך הנתונים שבו מוגדרת הפרוצדורה |
routine_schema |
STRING |
השם של מערך הנתונים שמכיל את השגרה |
routine_name |
STRING |
שם התרחיש |
routine_type |
STRING |
סוג התרחיש:
|
data_type |
STRING |
סוג הנתונים שהשגרה מחזירה. NULL אם הפרוצדורה היא פרוצדורה מאוחסנת |
routine_body |
STRING |
איך מוגדר גוף הפרוצדורה, SQL או EXTERNAL אם הפרוצדורה היא פונקציה בהגדרת המשתמש ב-JavaScript |
routine_definition |
STRING |
ההגדרה של התרחיש |
external_language |
STRING |
JAVASCRIPT אם השגרה היא פונקציה בהגדרת המשתמש ב-JavaScript או NULL אם השגרה הוגדרה באמצעות SQL |
is_deterministic |
STRING |
YES אם ידוע שהשגרה היא דטרמיניסטית,
NO אם היא לא דטרמיניסטית, או NULL אם לא ידוע |
security_type |
STRING |
סוג האבטחה של התרחיש, תמיד NULL |
created |
TIMESTAMP |
זמן היצירה של התרחיש |
last_altered |
TIMESTAMP |
הזמן שבו בוצע השינוי האחרון בשגרה |
ddl |
STRING |
הצהרת DDL שאפשר להשתמש בה כדי ליצור את השגרה, כמו CREATE FUNCTION או CREATE PROCEDURE
|
connection |
STRING |
שם החיבור, אם יש כזה לשגרה. אחרת
NULL |
כדי לשמור על יציבות, מומלץ לציין במפורש את העמודות בשאילתות של סכימת המידע, במקום להשתמש בתו כל כללי (SELECT *). ציון מפורש של העמודות מונע את השבירה של השאילתות אם הסכימה הבסיסית משתנה.
היקף ותחביר
שאילתות שמופעלות על התצוגה הזו חייבות לכלול מערך נתונים או מסווג אזור. מידע נוסף מופיע במאמר בנושא תחביר. בטבלה הבאה מוסברות רמות הפירוט של האזור והמשאבים בתצוגה הזו:
| שם התצוגה | היקף המשאבים | היקף האזור |
|---|---|---|
[PROJECT_ID.]`region-REGION`.INFORMATION_SCHEMA.ROUTINES |
ברמת הפרויקט | REGION |
[PROJECT_ID.]DATASET_ID.INFORMATION_SCHEMA.ROUTINES |
רמת מערך הנתונים | מיקום מערך הנתונים |
-
אופציונלי:
PROJECT_ID: מזהה הפרויקט ב- Google Cloud . אם לא מציינים פרויקט, המערכת משתמשת בפרויקט שמוגדר כברירת מחדל. -
REGION: כל שם של אזור במערך נתונים. לדוגמה,`region-us`. -
DATASET_ID: המזהה של מערך הנתונים. מידע נוסף מופיע במאמר בנושא מאפיין מסנן של מערך נתונים.
דוגמה
-- Returns metadata for routines in a single dataset.
SELECT * FROM myDataset.INFORMATION_SCHEMA.ROUTINES;
-- Returns metadata for routines in a region.
SELECT * FROM region-us.INFORMATION_SCHEMA.ROUTINES;
דוגמה
דוגמה
כדי להריץ את השאילתה על פרויקט שאינו פרויקט ברירת המחדל, מוסיפים את מזהה הפרויקט למערך הנתונים בפורמט הבא:
`PROJECT_ID`.INFORMATION_SCHEMA.ROUTINES
`myproject`.INFORMATION_SCHEMA.ROUTINES.
בדוגמה הבאה מאחזרים את כל העמודות מהתצוגה INFORMATION_SCHEMA.ROUTINES. המטא-נתונים שמוחזרים הם של כל התרחישים ב-mydataset בפרויקט שמוגדר כברירת מחדל – myproject. מערך הנתונים mydataset
מכיל תרחיש בשם myroutine1.
SELECT * FROM mydataset.INFORMATION_SCHEMA.ROUTINES;
INFORMATION_SCHEMA
התוצאה אמורה להיראות כך:
+------------------+-----------------+---------------+-----------------+----------------+--------------+--------------+-----------+--------------+--------------------+-------------------+------------------+---------------+-----------------------------+-----------------------------+-----------------------------------------------------------+ | specific_catalog | specific_schema | specific_name | routine_catalog | routine_schema | routine_name | routine_type | data_type | routine_body | routine_definition | external_language | is_deterministic | security_type | created | last_altered | ddl | +------------------+-----------------+---------------+-----------------+----------------+--------------+--------------+-----------+--------------+--------------------+-------------------+------------------+---------------+-----------------------------+-----------------------------+-----------------------------------------------------------+ | myproject | mydataset | myroutine1 | myproject | mydataset | myroutine1 | FUNCTION | NULL | SQL | x + 3 | NULL | NULL | NULL | 2019-10-03 17:29:00.235 UTC | 2019-10-03 17:29:00.235 UTC | CREATE FUNCTION myproject.mydataset.myroutine1(x FLOAT64) | | | | | | | | | | | | | | | | | AS ( | | | | | | | | | | | | | | | | | x + 3 | | | | | | | | | | | | | | | | | ); | +------------------+-----------------+---------------+-----------------+----------------+--------------+--------------+-----------+--------------+--------------------+-------------------+------------------+---------------+-----------------------------+-----------------------------+-----------------------------------------------------------+