תצוגת 'תצוגות'

התצוגה INFORMATION_SCHEMA.VIEWS מכילה מטא-נתונים על צפיות.

ההרשאות הנדרשות

כדי להציג מטא-נתונים, אתם צריכים את ההרשאות הבאות בניהול הזהויות והרשאות הגישה (IAM):

  • bigquery.tables.get
  • bigquery.tables.list

כל אחד מתפקידי ה-IAM המוגדרים מראש הבאים כולל את ההרשאות שדרושות לכם כדי להציג את המטא-נתונים:

  • roles/bigquery.admin
  • roles/bigquery.dataEditor
  • roles/bigquery.metadataViewer
  • roles/bigquery.dataViewer

מידע נוסף על הרשאות ב-BigQuery זמין במאמר בקרת גישה באמצעות IAM.

סכימה

כששולחים שאילתה לתצוגה INFORMATION_SCHEMA.VIEWS, תוצאות השאילתה מכילות שורה אחת לכל תצוגה במערך נתונים.

לתצוגה INFORMATION_SCHEMA.VIEWS יש את הסכימה הבאה:

שם העמודה סוג נתונים ערך
table_catalog STRING שם הפרויקט שמכיל את מערך הנתונים
table_schema STRING השם של מערך הנתונים שמכיל את התצוגה, שנקרא גם מערך הנתונים id
table_name STRING שם התצוגה, שנקרא גם שם הטבלה id
view_definition STRING שאילתת ה-SQL שמגדירה את התצוגה
check_option STRING הערך שמוחזר הוא תמיד NULL
use_standard_sql STRING YES אם התצוגה נוצרה באמצעות שאילתת GoogleSQL,‏ NO אם הערך של useLegacySql מוגדר ל-true

כדי לשמור על יציבות, מומלץ לציין במפורש את העמודות בשאילתות של סכימת המידע, במקום להשתמש בתו כל כללי (SELECT *). ציון מפורש של העמודות מונע את השבירה של השאילתות אם הסכימה הבסיסית משתנה.

היקף ותחביר

שאילתות שמופעלות על התצוגה הזו חייבות לכלול מערך נתונים או מסווג אזור. לשאילתות עם מזהה מערך נתונים, צריכות להיות לכם הרשאות למערך הנתונים. כדי להריץ שאילתות עם מסנן אזור, צריך הרשאות בפרויקט. מידע נוסף מופיע במאמר בנושא תחביר. בטבלה הבאה מוסברות רמות הפירוט של האזור והמשאבים בתצוגה הזו:

שם התצוגה היקף המשאבים היקף האזור
[PROJECT_ID.]`region-REGION`.INFORMATION_SCHEMA.VIEWS ברמת הפרויקט REGION
[PROJECT_ID.]DATASET_ID.INFORMATION_SCHEMA.VIEWS רמת מערך הנתונים מיקום מערך הנתונים
מחליפים את מה שכתוב בשדות הבאים:
  • אופציונלי: PROJECT_ID: מזהה הפרויקט ב- Google Cloud . אם לא מציינים פרויקט, המערכת משתמשת בפרויקט שמוגדר כברירת מחדל.
  • REGION: כל שם של אזור במערך נתונים. לדוגמה, `region-us`.
  • DATASET_ID: המזהה של מערך הנתונים. מידע נוסף מופיע במאמר בנושא מאפיין מסנן של מערך נתונים.

לדוגמה:

-- Returns metadata for views in a single dataset.
SELECT * FROM myDataset.INFORMATION_SCHEMA.VIEWS;

-- Returns metadata for all views in a region.
SELECT * FROM region-us.INFORMATION_SCHEMA.VIEWS;

דוגמאות

דוגמה 1:

בדוגמה הבאה מאוחזרות כל העמודות מהתצוגה INFORMATION_SCHEMA.VIEWS חוץ מהעמודה check_option ששמורה לשימוש עתידי. המטא-נתונים שמוחזרים הם של כל התצוגות ב-mydataset בפרויקט ברירת המחדל – myproject.

כדי להריץ את השאילתה על פרויקט שאינו פרויקט ברירת המחדל, מוסיפים את מזהה הפרויקט למערך הנתונים בפורמט הבא: `project_id`.dataset.INFORMATION_SCHEMA.view. לדוגמה: `myproject`.mydataset.INFORMATION_SCHEMA.VIEWS.

SELECT
  * EXCEPT (check_option)
FROM
  mydataset.INFORMATION_SCHEMA.VIEWS;
INFORMATION_SCHEMA

התוצאה אמורה להיראות כך:

  +----------------+---------------+---------------+---------------------------------------------------------------------+------------------+
  | table_catalog  | table_schema  |  table_name   |                        view_definition                              | use_standard_sql |
  +----------------+---------------+---------------+---------------------------------------------------------------------+------------------+
  | myproject      | mydataset     | myview        | SELECT column1, column2 FROM [myproject:mydataset.mytable] LIMIT 10 | NO               |
  +----------------+---------------+---------------+---------------------------------------------------------------------+------------------+
  

שימו לב: התוצאות מראות שהתצוגה הזו נוצרה באמצעות שאילתת SQL מדור קודם.

דוגמה 2:

בדוגמה הבאה מאחזרים את שאילתת ה-SQL ואת תחביר השאילתה שמשמשים להגדרת myview ב-mydataset בפרויקט ברירת המחדל – myproject.

כדי להריץ את השאילתה על פרויקט שאינו פרויקט ברירת המחדל, מוסיפים את מזהה הפרויקט למערך הנתונים בפורמט הבא: `project_id`.dataset.INFORMATION_SCHEMA.view. לדוגמה: `myproject`.mydataset.INFORMATION_SCHEMA.VIEWS.

SELECT
  table_name, view_definition, use_standard_sql
FROM
  mydataset.INFORMATION_SCHEMA.VIEWS
WHERE
  table_name = 'myview';
INFORMATION_SCHEMA

התוצאה אמורה להיראות כך:

  +---------------+---------------------------------------------------------------+------------------+
  |  table_name   |                        view_definition                        | use_standard_sql |
  +---------------+---------------------------------------------------------------+------------------+
  | myview        | SELECT column1, column2, column3 FROM mydataset.mytable       | YES              |
  +---------------+---------------------------------------------------------------+------------------+
  

שימו לב שהתוצאות מראות שהתצוגה הזו נוצרה באמצעות שאילתת GoogleSQL.