테이블 스냅샷 나열
이 문서에서는 INFORMATION_SCHEMA.TABLE_SNAPSHOTS
테이블 쿼리, bq ls
명령어 사용, tables.list
API 호출을 통해 Google Cloud 콘솔에서 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
유형이 포함됩니다.
다음 옵션 중 하나를 사용하여 테이블 스냅샷을 나열할 수 있습니다.
콘솔
Google Cloud 콘솔에서 BigQuery 페이지로 이동합니다.
탐색기 창에서 테이블 스냅샷을 나열할 데이터 세트의 프로젝트 및 데이터 세트 노드를 확장합니다.
데이터 세트에서 해당 아이콘으로 테이블 스냅샷을 식별할 수 있습니다.
SQL
INFORMATION_SCHEMA.TABLE_SNAPSHOTS
뷰를 쿼리합니다.
Google Cloud 콘솔에서 BigQuery 페이지로 이동합니다.
쿼리 편집기에서 다음 문을 입력합니다.
SELECT * FROM PROJECT_ID.DATASET_NAME.INFORMATION_SCHEMA.TABLE_SNAPSHOTS;
다음을 바꿉니다.
PROJECT_ID
: 나열할 스냅샷이 포함된 프로젝트의 프로젝트 ID입니다.DATASET_NAME
: 나열할 스냅샷이 포함된 데이터 세트의 이름입니다.
실행을 클릭합니다.
쿼리를 실행하는 방법에 대한 자세한 내용은 대화형 쿼리 실행을 참조하세요.
결과는 다음과 유사합니다.
+---------------+----------------+------------------+--------------------+-------------------+-----------------+-----------------------------+ | 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에 다음 명령어를 입력합니다.
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
: 나열할 스냅샷이 포함된 프로젝트의 프로젝트 IDDATASET_NAME
: 나열할 스냅샷이 포함된 데이터 세트의 이름