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 | オプションの名前。サポートされているオプションの一覧については、スキーマ オプションのリストをご覧ください。 
 | 
| option_type | STRING | オプションのデータ型 | 
| option_value | 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")] |
  +----------------+---------------+-------------+---------------------------------+------------------------+