SCHEMATA_OPTIONS ビュー
INFORMATION_SCHEMA.SCHEMATA_OPTIONS
ビューには、プロジェクト内の各データセットのオプションごとに 1 行が表示されます。
始める前に
データセットのメタデータについて SCHEMATA_OPTIONS
ビューにクエリを実行するには、プロジェクト レベルで bigquery.datasets.get
Identity and Access Management(IAM)権限が必要です。
以下の IAM 事前定義ロールのそれぞれに、SCHEMATA_OPTIONS
ビューの取得に必要な権限が含まれています。
roles/bigquery.admin
roles/bigquery.dataEditor
roles/bigquery.dataOwner
roles/bigquery.dataViewer
BigQuery の権限の詳細については、IAM でのアクセス制御をご覧ください。
スキーマ
INFORMATION_SCHEMA.SCHEMATA_OPTIONS
ビューにクエリを実行すると、クエリの結果として、プロジェクト内の各データセットのオプションごとに 1 行が表示されます。
INFORMATION_SCHEMA.SCHEMATA_OPTIONS
ビューのスキーマは次のとおりです。
列名 | データ型 | 値 |
---|---|---|
CATALOG_NAME |
STRING |
データセットを含むプロジェクトの名前 |
SCHEMA_NAME |
STRING |
データセットの名前(datasetId ともいいます) |
OPTION_NAME |
STRING |
options テーブル内の名前値の 1 つ |
OPTION_TYPE |
STRING |
オプション テーブル内のデータ型の値の 1 つ |
OPTION_VALUE |
STRING |
オプション テーブル内の値のオプションの 1 つ |
オプション テーブル
OPTION_NAME |
OPTION_TYPE |
OPTION_VALUE |
---|---|---|
default_partition_expiration_days |
FLOAT64 |
データセット内のすべてのパーティション分割テーブルのデフォルトの有効期間(日数) |
default_table_expiration_days |
FLOAT64 |
データセット内のすべてのテーブルのデフォルトの有効期間(日数) |
max_time_travel_hours |
INTEGER |
24 の倍数(48、72、96、120、144、168)で表される、48(2 日間)から 168(7 日間)までのタイムトラベル期間 |
description |
STRING |
データセットの説明 |
friendly_name |
STRING |
データセットの説明 |
labels |
ARRAY<STRUCT<STRING, STRING>> |
データセットのラベルを表す STRUCT の配列 |
storage_billing_model |
STRING |
データセットのストレージ課金モデル |
スコープと構文
このビューに対するクエリでは、リージョン修飾子を指定する必要があります。リージョン修飾子を指定しない場合、メタデータは米国リージョンから取得されます。次の表に、このビューのリージョン スコープを示します。
ビュー名 | リソース スコープ | リージョン スコープ |
---|---|---|
[PROJECT_ID.]INFORMATION_SCHEMA.SCHEMATA_OPTIONS |
プロジェクト レベル | US リージョン |
[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")] | +----------------+---------------+-------------+---------------------------------+------------------------+