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 |
設定が定義されている階層内のレベルで、DEFAULT 、ORGANIZATION 、または PROJECTS の値が可能。
|
OPTION_SET_ON_ID |
STRING |
OPTION_SET_LEVEL の値に基づいて値を設定:
|
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 | +---------------------------------+---------------+-----------------------+---------------------+-----------------------+