INFORMATION_SCHEMA を使用した構成値の取得

INFORMATION_SCHEMA は、データセット、ルーティン、テーブル、ビュー、ジョブ、予約、ストリーミング データに関するメタデータへのアクセスを可能にする一連のビューです。

INFORMATION_SCHEMA 構成オプション ビューにクエリを実行し、BigQuery 構成オプションに関するリアルタイムのメタデータを取得できます。このビューには、組織レベルまたはプロジェクト レベルのデフォルト設定が含まれています。

準備

このドキュメントの各タスクを実行するために必要な権限をユーザーに与える Identity and Access Management(IAM)のロールを付与します。

必要な権限

構成オプションのメタデータを取得するには、次の IAM 権限が必要です。

  • bigquery.config.get

次の IAM 事前定義ロールには、組織オプションのメタデータを取得するために必要な権限が含まれています。

  • roles/bigquery.jobUser
  • roles/bigquery.dataEditor
  • roles/bigquery.dataOwner

BigQuery のきめ細かい権限の詳細については、ロールと権限をご覧ください。

ORGANIZATION_OPTIONS ビュー

構文

このビューに対するクエリでは、リージョン修飾子を指定する必要があります。

-- Returns configurations for all set options within the organization.
SELECT * FROM region-us.INFORMATION_SCHEMA.ORGANIZATION_OPTIONS;

INFORMATION_SCHEMA.ORGANIZATION_OPTIONS ビューにクエリを実行すると、クエリ結果として組織内の各構成ごとに 1 行が表示されます。

INFORMATION_SCHEMA.ORGANIZATION_OPTIONS ビューのスキーマは次のとおりです。

列名 データ型
OPTION_NAME STRING options テーブル内の名前値の 1 つ
OPTION_DESCRIPTION STRING オプションの説明
OPTION_TYPE STRING OPTION_VALUE のデータ型
OPTION_VALUE STRING オプションの現在値
オプション テーブル
OPTION_NAME OPTION_TYPE OPTION_VALUE
default_time_zone STRING この組織のデフォルトのタイムゾーン
default_kms_key_name STRING この組織のデフォルトの鍵名
default_query_job_timeout_ms STRING この組織のデフォルトのタイムアウト時間(ミリ秒単位)

Examples

次の例では、OPTION_NAME 列、OPTION_TYPE 列、OPTION_VALUE 列を INFORMATION_SCHEMA.ORGANIZATION_OPTIONS から取得します。

SELECT
  option_name, option_type, option_value
FROM
  `region-us`.INFORMATION_SCHEMA.ORGANIZATION_OPTIONS;

次のような結果になります。

  +---------------------------------+---------------+--------------------------+
  | option_name                     | option_type   | option_value             |
  +---------------------------------+---------------+--------------------------+
  | default_time_zone               | STRING        | America/Los_Angeles      |
  +---------------------------------+---------------+--------------------------+
  | default_kms_key_name            | STRING        | test/testkey1            |
  +---------------------------------+---------------+--------------------------+
  | default_query_job_timeout_ms    | INT64         | 18000000                 |
  +---------------------------------+---------------+--------------------------+
  

PROJECT_OPTIONS ビュー

構文

このビューに対するクエリでは、リージョン修飾子を指定する必要があります。

-- Returns configurations for all set options within the project.
SELECT * FROM region-us.INFORMATION_SCHEMA.PROJECT_OPTIONS;

INFORMATION_SCHEMA.PROJECT_OPTIONS ビューにクエリを実行すると、クエリ結果としてプロジェクトの構成ごとに 1 行が表示されます。

INFORMATION_SCHEMA.PROJECT_OPTIONS ビューのスキーマは次のとおりです。

列名 データ型
OPTION_NAME STRING 指定された構成設定のオプション ID
OPTION_DESCRIPTION STRING オプションの説明
OPTION_TYPE STRING OPTION_VALUE のデータ型
OPTION_VALUE STRING オプションの現在値
オプション テーブル
OPTION_NAME OPTION_TYPE OPTION_VALUE
default_time_zone STRING このプロジェクトのデフォルトのタイムゾーン
default_kms_key_name STRING このプロジェクトのデフォルトの鍵名
default_query_job_timeout_ms STRING このプロジェクトのデフォルトのタイムアウト時間(ミリ秒単位)

Examples

次の例では、OPTION_NAME 列、OPTION_TYPE 列、OPTION_VALUE 列を INFORMATION_SCHEMA.PROJECT_OPTIONS ビューから取得します。

SELECT
  option_name, option_type, option_value
FROM
  `region-us`.INFORMATION_SCHEMA.PROJECT_OPTIONS;

次のような結果になります。

  +---------------------------------+---------------+----------------------+
  | option_name                     | option_type   | option_value         |
  +---------------------------------+---------------+----------------------+
  | default_time_zone               | STRING        | America/Chicago      |
  +---------------------------------+---------------+----------------------+
  | default_kms_key_name            | STRING        | test/testkey1        |
  +---------------------------------+---------------+----------------------+
  | default_query_job_timeout_ms    | INT64         | 36000000             |
  +---------------------------------+---------------+----------------------+
  

EFFECTIVE_PROJECT_OPTIONS ビュー

構文

このビューに対するクエリでは、リージョン修飾子を指定する必要があります。

-- Returns effective configurations for all set options within the project.
SELECT * FROM region-us.INFORMATION_SCHEMA.EFFECTIVE_PROJECT_OPTIONS;

INFORMATION_SCHEMA.EFFECTIVE_PROJECT_OPTIONS ビューにクエリを実行すると、クエリ結果としてプロジェクトの構成ごとに 1 行が表示されます。

INFORMATION_SCHEMA.EFFECTIVE_PROJECT_OPTIONS ビューのスキーマは次のとおりです。

列名 データ型
OPTION_NAME STRING 指定された構成設定のオプション ID
OPTION_DESCRIPTION STRING オプションの説明
OPTION_TYPE STRING OPTION_VALUE のデータ型
OPTION_SET_LEVEL STRING 設定が定義されている階層内のレベルで、DEFAULTORGANIZATION、または PROJECTS の値が可能。
OPTION_SET_ON_ID STRING OPTION_SET_LEVEL の値に基づいて値を設定:
  • DEFAULT の場合は、null に設定。
  • ORGANIZATION の場合は、"" に設定。
  • PROJECT の場合は、ID に設定。
OPTION_VALUE STRING オプションの現在値
オプション テーブル
OPTION_NAME OPTION_TYPE OPTION_VALUE
default_time_zone STRING このプロジェクトの有効なデフォルトのタイムゾーン
default_kms_key_name STRING このプロジェクトの有効なデフォルトの鍵名
default_query_job_timeout_ms INT64 このプロジェクトの有効なデフォルトのタイムアウト時間(ミリ秒単位)

Examples

例 1:

次の例では、OPTION_NAME 列、OPTION_TYPE 列、OPTION_VALUE 列、OPTION_SET_LEVEL 列、OPTION_SET_ON_ID 列を INFORMATION_SCHEMA.PROJECT_OPTIONS ビューから取得します。

SELECT
  option_name, option_type, option_value, option_set_level, option_set_on_id
FROM
  `region-us`.INFORMATION_SCHEMA.PROJECT_OPTIONS;

次のような結果になります。

  +---------------------------------+---------------+-----------------------+---------------------+-----------------------+
  | option_name                     | option_type   | option_value          | option_set_level    | option_set_on_id      |
  +---------------------------------+---------------+-----------------------+---------------------+-----------------------+
  | default_time_zone               | STRING        | America/New_York      | organizations       | my_organization_id    |
  +---------------------------------+---------------+-----------------------+---------------------+-----------------------+
  | default_kms_key_name            | STRING        | test/testkey1         | projects            | my_project_id         |
  +---------------------------------+---------------+-----------------------+---------------------+-----------------------+
  | default_query_job_timeout_ms    | INT64         | 18000000              | projects             | my_project_id        |
  +---------------------------------+---------------+-----------------------+---------------------+-----------------------+