테이블 스냅샷 메타데이터 보기

이 문서에서는 INFORMATION_SCHEMA 테이블의 TABLE_SNAPSHOTS 뷰를 쿼리하거나, bq show 명령어를 사용하거나, tables.get API를 호출하여 Google Cloud 콘솔에서 BigQuery 테이블 스냅샷의 메타데이터를 보는 방법을 설명합니다. 이 문서는 BigQuery 테이블테이블 스냅샷에 익숙한 사용자를 대상으로 합니다.

권한 및 역할

이 섹션에서는 테이블 스냅샷에 대해 메타데이터를 확인하기 위해 필요한 Identity and Access Management(IAM) 권한 및 이러한 권한을 부여하는 사전 정의된 IAM 역할에 대해 설명합니다.

권한

테이블 스냅샷의 메타데이터를 확인하려면 다음 권한이 필요합니다.

권한 리소스
bigquery.tables.get 테이블 스냅샷

역할

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

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

bigquery.metadataViewer
bigquery.dataViewer
bigquery.dataEditor
bigquery.dataOwner
bigquery.admin
테이블 스냅샷

테이블 스냅샷의 메타데이터 가져오기

테이블 스냅샷의 메타데이터는 표준 테이블의 메타데이터와 비슷하지만 다음과 같은 차이가 있습니다.

  • 추가 baseTableReference 필드는 스냅샷이 생성된 기본 테이블을 식별합니다.
  • type 필드에는 SNAPSHOT 값이 포함됩니다.

다음 옵션 중 하나를 사용하여 테이블 스냅샷의 메타데이터를 볼 수 있습니다.

콘솔

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

    BigQuery로 이동

  2. 탐색기 창에서 보려는 테이블 스냅샷의 프로젝트와 데이터 세트 노드를 확장합니다.

  3. 테이블 스냅샷 이름을 클릭합니다.

  4. 표시되는 스냅샷 창에서 다음을 수행할 수 있습니다.

    • 스키마 탭을 클릭하여 테이블 스냅샷의 스키마와 정책 태그를 확인합니다.

    • 세부정보 테이블을 클릭하여 테이블 스냅샷의 크기, 만료, 기본 테이블, 스냅샷 시간, 기타 정보를 확인합니다.

SQL

테이블 스냅샷의 메타데이터를 보려면 INFORMATION_SCHEMA.TABLE_SNAPSHOTS 보기를 쿼리합니다.

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

    BigQuery로 이동

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

    SELECT
      *
    FROM
      PROJECT_ID.DATASET_NAME.INFORMATION_SCHEMA.TABLE_SNAPSHOTS
    WHERE
      table_name = 'SNAPSHOT_NAME';

    다음을 바꿉니다.

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

  3. 실행을 클릭합니다.

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

bq

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

Cloud Shell로 이동

bq show \
--format=prettyjson \
PROJECT_ID:DATASET_NAME.SNAPSHOT_NAME

다음을 바꿉니다.

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

출력은 다음과 비슷합니다.

{
  "creationTime": "1593194331936",
   ...
  "snapshotDefinition": {
    "baseTableReference": {
      "datasetId": "myDataset",
      "projectId": "myProject",
      "tableId": "mytable"
    },
    "snapshotTime": "2020-06-26T17:58:50.815Z"
  },
  "tableReference": {
    "datasetId": "otherDataset",
    "projectId": "myProject",
    "tableId": "mySnapshot"
  },
  "type": "SNAPSHOT"
}

API

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

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

응답 본문은 다음과 비슷합니다.

{
  "kind": "bigquery#table",
  "etag": "...",
  "id": "myProject:myDataset.mySnapshot",
  "selfLink": "https://content-bigquery.googleapis.com/bigquery/v2/projects/myProject/datasets/myDataset/tables/mySnapshot",
  "tableReference": {
    "projectId": "myProject",
    "datasetId": "myDataset",
    "tableId": "mySnapshot"
  },
  "description": "...",
  "schema": {
    "fields": [
      ...
    ]
  },
  "numBytes": "637931",
  "numLongTermBytes": "0",
  "numRows": "33266",
  "creationTime": "1593194331936",
  "lastModifiedTime": "1593194331936",
  "type": "SNAPSHOT",
  "location": "US",
  "snapshotDefinition": {
    "baseTableReference": {
      "projectId": "myProject",
      "datasetId": "otherDataset",
      "tableId": "myTable"
    },
    "snapshotTime": "2020-06-26T17:58:50.815Z"
  }
}

다음 단계