테이블 스냅샷 나열

이 문서에서는 Google Cloud 콘솔에서 INFORMATION_SCHEMA.TABLE_SNAPSHOTS 테이블을 쿼리하거나, bq ls 명령어를 사용하거나, tables.list API를 호출하여 BigQuery 데이터 세트의 테이블 스냅샷 목록을 가져오는 방법을 설명합니다. 또한 INFORMATION_SCHEMA.TABLE_SNAPSHOTS 테이블을 쿼리하여 지정된 기본 테이블의 모든 테이블 스냅샷을 나열하는 방법을 설명합니다. 이 문서는 BigQuery 테이블테이블 스냅샷에 익숙한 사용자를 대상으로 합니다.

권한 및 역할

이 섹션에서는 데이터 세트의 테이블 스냅샷을 나열하는 데 필요한 Identity and Access Management(IAM) 권한과 이러한 권한을 부여하는 사전 정의된 IAM 역할에 대해 설명합니다. 테이블 스냅샷을 나열하는 데 필요한 권한과 역할은 다른 유형의 테이블을 나열하는 데 필요한 권한과 역할과 동일합니다.

권한

데이터 세트의 테이블 스냅샷을 나열하려면 다음 권한이 필요합니다.

권한 리소스
bigquery.tables.list 테이블 스냅샷이 포함된 데이터 세트입니다.

역할

필요한 권한을 제공하는 사전 정의된 BigQuery 역할은 다음과 같습니다.

역할 리소스
다음 중 하나인 경우:

bigquery.dataUser
bigquery.dataViewer
bigquery.dataEditor
bigquery.dataOwner
bigquery.admin
테이블 스냅샷이 포함된 데이터 세트입니다.

데이터 세트의 테이블 스냅샷 나열

데이터 세트의 테이블 스냅샷 목록을 가져오는 것은 다른 테이블 유형을 나열하는 것과 비슷합니다. 테이블 스냅샷에는 SNAPSHOT 유형이 포함됩니다.

다음 옵션 중 하나를 사용하여 테이블 스냅샷을 나열할 수 있습니다.

콘솔

  1. Google Cloud 콘솔에서 BigQuery 페이지로 이동합니다.

    BigQuery로 이동

  2. 왼쪽 창에서 탐색기를 클릭합니다.

    탐색기 창의 강조 표시된 버튼

    왼쪽 창이 표시되지 않으면 왼쪽 창 펼치기를 클릭하여 창을 엽니다.

  3. 탐색기 창에서 프로젝트를 펼치고 데이터 세트를 클릭한 후 나열할 테이블 스냅샷이 포함된 데이터 세트를 선택합니다.

  4. 개요 > 테이블을 클릭합니다. 목록에서 스냅샷을 찾으려면 유형 열에서 SNAPSHOT 값을 확인합니다.

SQL

INFORMATION_SCHEMA.TABLE_SNAPSHOTS를 쿼리합니다.

  1. Google Cloud 콘솔에서 BigQuery 페이지로 이동합니다.

    BigQuery로 이동

  2. 쿼리 편집기에서 다음 문을 입력합니다.

    SELECT
      *
    FROM
      PROJECT_ID.DATASET_NAME.INFORMATION_SCHEMA.TABLE_SNAPSHOTS;

    다음을 바꿉니다.

    • PROJECT_ID: 나열할 스냅샷이 포함된 프로젝트의 프로젝트 ID입니다.
    • DATASET_NAME: 나열할 스냅샷이 포함된 데이터 세트의 이름입니다.

  3. 실행을 클릭합니다.

쿼리를 실행하는 방법에 대한 자세한 내용은 대화형 쿼리 실행을 참조하세요.

결과는 다음과 유사합니다.

+---------------+----------------+------------------+--------------------+-------------------+-----------------+-----------------------------+
| table_catalog | table_schema   | table_name       | base_table_catalog | base_table_schema | base_table_name | snapshot_time               |
+---------------+----------------+------------------+--------------------+-------------------+-----------------+-----------------------------+
| myproject     | mydataset      | mysnapshot       | basetableproject   | basetabledataset           | basetable           | 2021-04-16 14:05:27.519 UTC |
+---------------+----------------+------------------+--------------------+-------------------+-----------------+-----------------------------+

bq

Cloud Shell에 다음 명령어를 입력합니다.

Cloud Shell로 이동

bq ls \
PROJECT_ID:DATASET_NAME

다음을 바꿉니다.

  • PROJECT_ID: 나열할 스냅샷이 포함된 프로젝트의 프로젝트 ID입니다.
  • DATASET_NAME: 나열할 스냅샷이 포함된 데이터 세트의 이름입니다.

결과는 다음과 유사합니다.

+-------------------------+--------+---------------------+-------------------+
|         tableId         |  Type  |       Labels        | Time Partitioning |
+-------------------------+--------+---------------------+-------------------+
| mysnapshot              |SNAPSHOT|                     |                   |
+-------------------------+--------+---------------------+-------------------+

API

다음 매개변수를 사용하여 tables.list 메서드를 호출합니다.

매개변수
projectId 나열할 스냅샷이 포함된 프로젝트의 프로젝트 ID입니다.
datasetId 나열할 스냅샷이 포함된 데이터 세트의 이름입니다.

지정된 기본 테이블의 테이블 스냅샷 나열

INFORMATION_SCHEMA.TABLE_SNAPSHOTS 뷰를 쿼리하여 지정된 기본 테이블의 테이블 스냅샷을 나열할 수 있습니다.

SELECT
  *
FROM
  PROJECT_ID.DATASET_NAME.INFORMATION_SCHEMA.TABLE_SNAPSHOTS
WHERE
  base_table_name = 'books';
  

다음을 바꿉니다.

  • PROJECT_ID: 나열할 스냅샷이 포함된 프로젝트의 프로젝트 ID
  • DATASET_NAME: 나열할 스냅샷이 포함된 데이터 세트의 이름

다음 단계