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 選項名稱。如需支援的選項清單,請參閱結構化資料選項清單

只有在 2022 年 12 月 1 日後更新的資料集,才會顯示「storage_billing_model」選項。如果資料集上次更新時間早於該日期,則儲存空間計費模式為 LOGICAL

option_type STRING 選項的資料類型
option_value STRING 選項值

範圍和語法

對這個檢視表執行的查詢必須包含區域限定詞。如未指定地區限定符,系統會從美國地區擷取中繼資料。下表說明這個檢視畫面的區域範圍:

檢視表名稱 資源範圍 區域範圍
[PROJECT_ID.]INFORMATION_SCHEMA.SCHEMATA_OPTIONS 專案層級 美國區域
[PROJECT_ID.]`region-REGION`.INFORMATION_SCHEMA.SCHEMATA_OPTIONS 專案層級 REGION
取代下列項目:
  • 選用:PROJECT_ID:您的 Google Cloud 專案 ID。如未指定,系統會使用預設專案。
  • REGION:任何資料集區域名稱。 例如:`region-us`

示例

-- Returns metadata for datasets in a region.
SELECT * FROM region-us.INFORMATION_SCHEMA.SCHEMATA_OPTIONS;

範例

擷取專案中所有資料集的預設資料表到期時間

如要對預設專案以外的專案執行查詢,請使用以下格式將專案 ID 新增至資料集:

`PROJECT_ID`.INFORMATION_SCHEMA.SCHEMATA_OPTIONS
例如:`myproject`.INFORMATION_SCHEMA.SCHEMATA_OPTIONS

SELECT
  *
FROM
  INFORMATION_SCHEMA.SCHEMATA_OPTIONS
WHERE
  option_name = 'default_table_expiration_days';

結果會類似如下:

  +----------------+---------------+-------------------------------+-------------+---------------------+
  |  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                |
  +----------------+---------------+-------------------------------+-------------+---------------------+
  

擷取專案中所有資料集的標籤

如要對預設專案以外的專案執行查詢,請使用以下格式將專案 ID 新增至資料集:

`PROJECT_ID`.INFORMATION_SCHEMA.SCHEMATA_OPTIONS
;例如 `myproject`.INFORMATION_SCHEMA.SCHEMATA_OPTIONS

SELECT
  *
FROM
  INFORMATION_SCHEMA.SCHEMATA_OPTIONS
WHERE
  option_name = 'labels';

結果會類似如下:

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