テーブル スナップショットのメタデータを表示する

このドキュメントでは、Google Cloud コンソールで、INFORMATION_SCHEMA テーブルの TABLE_SNAPSHOTS ビューにクエリを行うか、bq show コマンドを使用するか、tables.get API を呼び出して 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"
  }
}

次のステップ