SCHEMATA_OPTIONS 檢視表

INFORMATION_SCHEMA.SCHEMATA_OPTIONS 檢視表會針對專案中每個資料集中設定的每個選項,包含一個資料列。

事前準備

如要查詢資料集中繼資料的 SCHEMATA_OPTIONS 檢視畫面,您必須具備專案層級的 bigquery.datasets.get 身分與存取權管理 (IAM) 權限。

下列每個預先定義的 IAM 角色都包含取得 SCHEMATA_OPTIONS 檢視畫面所需的權限:

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

如要進一步瞭解 BigQuery 權限,請參閱「使用身分與存取權管理功能控管存取權」。

結構定義

查詢 INFORMATION_SCHEMA.SCHEMATA_OPTIONS 檢視表時,查詢結果會針對專案中每個資料集中設定的每個選項,分別列出一個資料列。

INFORMATION_SCHEMA.SCHEMATA_OPTIONS 檢視表具有下列結構定義:

資料欄名稱 資料類型
CATALOG_NAME STRING 包含資料集的專案名稱
SCHEMA_NAME STRING 資料集名稱,又稱為 datasetId
OPTION_NAME STRING 選項的名稱。如需支援的選項清單,請參閱結構定義選項清單

storage_billing_model 選項只會顯示在 2022 年 12 月 1 日後更新的資料集。如果資料集上次更新日期在該日期之前,則儲存空間帳單模式為 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")] |
  +----------------+---------------+-------------+---------------------------------+------------------------+