התצוגה המפורטת SCHEMATA_OPTIONS

התצוגה INFORMATION_SCHEMA.SCHEMATA_OPTIONS מכילה שורה אחת לכל אפשרות שמוגדרת בכל מערך נתונים בפרויקט.

לפני שמתחילים

כדי לשלוח שאילתה לתצוגה SCHEMATA_OPTIONS של מטא-נתונים של מערך נתונים, צריך הרשאה לניהול זהויות והרשאות גישה (IAM) ברמת הפרויקט.bigquery.datasets.get

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

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

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

סכימה

כשמריצים שאילתה בתצוגה המפורטת INFORMATION_SCHEMA.SCHEMATA_OPTIONS, תוצאות השאילתה מכילות שורה אחת לכל אפשרות שמוגדרת בכל מערך נתונים בפרויקט.

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

שם העמודה סוג נתונים ערך
catalog_name STRING שם הפרויקט שמכיל את מערך הנתונים
schema_name STRING שם מערך הנתונים, שנקרא גם datasetId
option_name STRING שם האפשרות. רשימת האפשרויות הנתמכות מופיעה כאן.

האפשרות storage_billing_model מוצגת רק לקבוצות נתונים שעודכנו אחרי 1 בדצמבר 2022. לגבי מערכי נתונים שעודכנו לאחרונה לפני התאריך הזה, מודל החיוב על אחסון הוא LOGICAL.

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")] |
  +----------------+---------------+-------------+---------------------------------+------------------------+