התצוגה המפורטת SCHEMATA_OPTIONS
התצוגה INFORMATION_SCHEMA.SCHEMATA_OPTIONS מכילה שורה אחת לכל אפשרות שמוגדרת בכל מערך נתונים בפרויקט.
לפני שמתחילים
כדי לשלוח שאילתה לתצוגה SCHEMATA_OPTIONS של מטא-נתונים של מערך נתונים, צריך הרשאה לניהול זהויות והרשאות גישה (IAM) ברמת הפרויקט.bigquery.datasets.get
כל אחד מהתפקידים המוגדרים מראש הבאים ב-IAM כולל את ההרשאות שדרושות לכם כדי לקבל את התצוגה SCHEMATA_OPTIONS:
roles/bigquery.adminroles/bigquery.dataEditorroles/bigquery.dataOwnerroles/bigquery.dataViewer
מידע נוסף על הרשאות ב-BigQuery זמין במאמר בקרת גישה באמצעות IAM.
סכימה
כשמריצים שאילתה בתצוגה המפורטתINFORMATION_SCHEMA.SCHEMATA_OPTIONS, תוצאות השאילתה מכילות שורה אחת לכל אפשרות שמוגדרת בכל מערך נתונים בפרויקט.
לתצוגה INFORMATION_SCHEMA.SCHEMATA_OPTIONS יש את הסכימה הבאה:
| שם העמודה | סוג נתונים | ערך |
|---|---|---|
catalog_name |
STRING |
שם הפרויקט שמכיל את מערך הנתונים |
schema_name |
STRING |
שם מערך הנתונים, שנקרא גם datasetId |
option_name |
STRING |
שם האפשרות. רשימת האפשרויות הנתמכות מופיעה כאן.
האפשרות |
option_type |
STRING |
סוג הנתונים של האפשרות |
option_value |
STRING |
הערך של האפשרות |
כדי לשמור על יציבות, מומלץ לציין במפורש את העמודות בשאילתות של סכימת המידע, במקום להשתמש בתו כל כללי (SELECT *). ציון מפורש של העמודות מונע את השבירה של השאילתות אם הסכימה הבסיסית משתנה.
היקף ותחביר
שאילתות שמופעלות על התצוגה הזו חייבות לכלול מגדיר אזור. אם לא מציינים מסווג אזורי, המטא-נתונים מאוחזרים מהאזור בארה"ב. בטבלה הבאה מוסבר היקף האזור בתצוגה הזו:
| שם התצוגה המפורטת | היקף המשאבים | היקף האזור |
|---|---|---|
[PROJECT_ID.]INFORMATION_SCHEMA.SCHEMATA_OPTIONS |
ברמת הפרויקט | אזור בארה"ב |
[PROJECT_ID.]`region-REGION`.INFORMATION_SCHEMA.SCHEMATA_OPTIONS |
ברמת הפרויקט | REGION |
-
אופציונלי:
PROJECT_ID: מזהה הפרויקט ב- Google Cloud . אם לא מציינים פרויקט, המערכת משתמשת בפרויקט שמוגדר כברירת מחדל. -
REGION: כל שם של אזור במערך נתונים. לדוגמה,`region-us`.
דוגמה
-- Returns metadata for datasets in a region.
SELECT * FROM region-us.INFORMATION_SCHEMA.SCHEMATA_OPTIONS;
דוגמאות
אחזור של זמן התפוגה של טבלת ברירת המחדל לכל מערכי הנתונים בפרויקט
כדי להריץ את השאילתה על פרויקט שאינו פרויקט ברירת המחדל, מוסיפים את מזהה הפרויקט למערך הנתונים בפורמט הבא:
`PROJECT_ID`.INFORMATION_SCHEMA.SCHEMATA_OPTIONS
`myproject`.INFORMATION_SCHEMA.SCHEMATA_OPTIONS.
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA_OPTIONS WHERE option_name = 'default_table_expiration_days';
INFORMATION_SCHEMA
התוצאה אמורה להיראות כך:
+----------------+---------------+-------------------------------+-------------+---------------------+ | catalog_name | schema_name | option_name | option_type | option_value | +----------------+---------------+-------------------------------+-------------+---------------------+ | myproject | mydataset3 | default_table_expiration_days | FLOAT64 | 0.08333333333333333 | | myproject | mydataset2 | default_table_expiration_days | FLOAT64 | 90.0 | | myproject | mydataset1 | default_table_expiration_days | FLOAT64 | 30.0 | +----------------+---------------+-------------------------------+-------------+---------------------+
אחזור תוויות של כל מערכי הנתונים בפרויקט
כדי להריץ את השאילתה על פרויקט שאינו פרויקט ברירת המחדל, מוסיפים את מזהה הפרויקט למערך הנתונים בפורמט הבא:
`PROJECT_ID`.INFORMATION_SCHEMA.SCHEMATA_OPTIONS
`myproject`.INFORMATION_SCHEMA.SCHEMATA_OPTIONS.
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA_OPTIONS WHERE option_name = 'labels';
INFORMATION_SCHEMA
התוצאה אמורה להיראות כך:
+----------------+---------------+-------------+---------------------------------+------------------------+
| catalog_name | schema_name | option_name | option_type | option_value |
+----------------+---------------+-------------+---------------------------------+------------------------+
| myproject | mydataset1 | labels | ARRAY<STRUCT<STRING, STRING>> | [STRUCT("org", "dev")] |
| myproject | mydataset2 | labels | ARRAY<STRUCT<STRING, STRING>> | [STRUCT("org", "dev")] |
+----------------+---------------+-------------+---------------------------------+------------------------+