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 뷰를 쿼리하면 조직의 구성마다 행이 한 개씩 쿼리 결과에 포함됩니다.

INFORMATION_SCHEMA.ORGANIZATION_OPTIONS 뷰에는 다음과 같은 스키마가 있습니다.

열 이름 데이터 유형
OPTION_NAME STRING 옵션 테이블의 이름 값 중 하나
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 이 조직의 기본 제한 시간(밀리초)

예시

다음 예시에서는 INFORMATION_SCHEMA.ORGANIZATION_OPTIONS에서 OPTION_NAME, OPTION_TYPE, OPTION_VALUE 열을 검색합니다.

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 뷰를 쿼리하면 프로젝트의 구성마다 행이 한 개씩 쿼리 결과에 포함됩니다.

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 이 프로젝트의 기본 제한 시간(밀리초)

예시

다음 예시에서는 INFORMATION_SCHEMA.PROJECT_OPTIONS 뷰에서 OPTION_NAME, OPTION_TYPE, OPTION_VALUE 열을 검색합니다.

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 뷰를 쿼리하면 프로젝트의 구성마다 행이 한 개씩 쿼리 결과에 포함됩니다.

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 값에 따라 값을 설정합니다.
  • 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 이 프로젝트의 유효 기본 제한 시간(밀리초)

예시

예시 1:

다음 예시는 INFORMATION_SCHEMA.PROJECT_OPTIONS 뷰에서 OPTION_NAME, OPTION_TYPE, OPTION_VALUE, OPTION_SET_LEVEL, OPTION_SET_ON_ID 열을 검색합니다.

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        |
  +---------------------------------+---------------+-----------------------+---------------------+-----------------------+