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

storage_billing_model オプションは、2022 年 12 月 1 日以降に更新されたデータセットにのみ表示されます。最終更新がこの日付より前のデータセットの場合、ストレージ課金モデルは LOGICAL です。

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