תצוגת PARAMETERS
התצוגה INFORMATION_SCHEMA.PARAMETERS מכילה שורה אחת לכל פרמטר של כל שגרה בקבוצת נתונים.
ההרשאות הנדרשות
כדי לשלוח שאילתה לתצוגה INFORMATION_SCHEMA.PARAMETERS, צריך את ההרשאות הבאות בממשק לניהול זהויות והרשאות גישה (IAM):
bigquery.routines.getbigquery.routines.list
כל אחד מתפקידי ה-IAM המוגדרים מראש הבאים כולל את ההרשאות שדרושות לכם כדי לקבל מטא-נתונים שגרתיים:
roles/bigquery.adminroles/bigquery.metadataViewerroles/bigquery.dataViewer
מידע נוסף על הרשאות ב-BigQuery זמין במאמר בקרת גישה באמצעות IAM.
סכימה
כשמריצים שאילתה בתצוגה INFORMATION_SCHEMA.PARAMETERS, תוצאות השאילתה
כוללות שורה אחת לכל פרמטר של כל שגרה במערך נתונים.
לתצוגה INFORMATION_SCHEMA.PARAMETERS יש את הסכימה הבאה:
| שם העמודה | סוג נתונים | ערך |
|---|---|---|
specific_catalog |
STRING |
שם הפרויקט שמכיל את מערך הנתונים שבו מוגדרת הפרוצדורה שמכילה את הפרמטר |
specific_schema |
STRING |
שם מערך הנתונים שמכיל את השגרה שבה מוגדר הפרמטר |
specific_name |
STRING |
השם של השגרה שבה מוגדר הפרמטר |
ordinal_position |
STRING |
המיקום של הפרמטר, כשהספירה מתחילה מ-1, או 0 לערך המוחזר |
parameter_mode |
STRING |
המצב של הפרמטר, IN, OUT, INOUT או NULL |
is_result |
STRING |
האם הפרמטר הוא התוצאה של הפונקציה, YES או NO |
parameter_name |
STRING |
שם הפרמטר |
data_type |
STRING |
סוג הפרמטר יהיה ANY TYPE אם הוא מוגדר כסוג כלשהו |
parameter_default |
STRING |
ערך ברירת המחדל של הפרמטר כערך ליטרלי של SQL, תמיד NULL |
is_aggregate |
STRING |
האם זה פרמטר מצטבר, תמיד NULL |
כדי לשמור על יציבות, מומלץ לציין במפורש את העמודות בשאילתות של סכימת המידע, במקום להשתמש בתו כל כללי (SELECT *). ציון מפורש של העמודות מונע את השבירה של השאילתות אם הסכימה הבסיסית משתנה.
היקף ותחביר
שאילתות שמופעלות על התצוגה הזו חייבות לכלול מערך נתונים או מסווג אזור. מידע נוסף מופיע במאמר בנושא תחביר. בטבלה הבאה מוסברות רמות הפירוט של האזור והמשאבים בתצוגה הזו:
| שם התצוגה | היקף המשאבים | היקף האזור |
|---|---|---|
[PROJECT_ID.]`region-REGION`.INFORMATION_SCHEMA.PARAMETERS |
ברמת הפרויקט | REGION |
[PROJECT_ID.]DATASET_ID.INFORMATION_SCHEMA.PARAMETERS |
רמת מערך הנתונים | מיקום מערך הנתונים |
-
אופציונלי:
PROJECT_ID: מזהה הפרויקט ב- Google Cloud . אם לא מציינים פרויקט, המערכת משתמשת בפרויקט שמוגדר כברירת מחדל. -
REGION: כל שם של אזור במערך נתונים. לדוגמה,`region-us`. -
DATASET_ID: המזהה של מערך הנתונים. מידע נוסף מופיע במאמר בנושא מאפיין מסנן של מערך נתונים.
דוגמה
-- Returns metadata for parameters of a routine in a single dataset.
SELECT * FROM myDataset.INFORMATION_SCHEMA.PARAMETERS;
-- Returns metadata for parameters of a routine in a region.
SELECT * FROM region-us.INFORMATION_SCHEMA.PARAMETERS;
דוגמה
דוגמה
כדי להריץ את השאילתה על מערך נתונים בפרויקט שאינו פרויקט ברירת המחדל שלכם, צריך להוסיף את מזהה הפרויקט בפורמט הבא:
`PROJECT_ID`.`DATASET_ID`.INFORMATION_SCHEMA.PARAMETERS
-
PROJECT_ID: מזהה הפרויקט -
DATASET_ID: מזהה קבוצת הנתונים.
לדוגמה, example-project.mydataset.INFORMATION_SCHEMA.JOBS_BY_PROJECT.
בדוגמה הבאה מאחזרים את כל הפרמטרים מהתצוגה INFORMATION_SCHEMA.PARAMETERS. המטא-נתונים שיוחזרו הם של שגרות ב-mydataset בפרויקט ברירת המחדל שלכם – myproject.
SELECT * EXCEPT(is_typed) FROM mydataset.INFORMATION_SCHEMA.PARAMETERS WHERE table_type = 'BASE TABLE';
INFORMATION_SCHEMA
התוצאה אמורה להיראות כך:
+-------------------+------------------+---------------+------------------+----------------+-----------+----------------+-----------+-------------------+--------------+ | specific_catalog | specific_schema | specific_name | ordinal_position | parameter_mode | is_result | parameter_name | data_type | parameter_default | is_aggregate | +-------------------+------------------+---------------+------------------+----------------+-----------+----------------+-----------+-------------------+--------------+ | myproject | mydataset | myroutine1 | 0 | NULL | YES | NULL | INT64 | NULL | NULL | | myproject | mydataset | myroutine1 | 1 | NULL | NO | x | INT64 | NULL | NULL | +-------------------+------------------+---------------+------------------+----------------+-----------+----------------+-----------+-------------------+--------------+