テーブル スナップショットのメタデータを表示する
このドキュメントでは、 Google Cloud コンソール(INFORMATION_SCHEMA テーブルの TABLE_SNAPSHOTS ビューをクエリ)、bq show コマンド、または tables.get API 呼び出しを使用して、BigQuery テーブル スナップショットのメタデータを表示する方法について説明します。このドキュメントは、BigQuery のテーブルとテーブル スナップショットについて一定の知識がある方を対象としています。
権限とロール
このセクションでは、テーブル スナップショットのメタデータの表示に必要な Identity and Access Management(IAM)権限と、その権限を付与する IAM 事前定義ロールについて説明します。
権限
テーブル スナップショットのメタデータを表示するには、次の権限が必要です。
| 権限 | リソース |
|---|---|
bigquery.tables.get
|
テーブル スナップショット |
ロール
必要な権限のある BigQuery の事前定義ロールは次のとおりです。
| 役割 | リソース |
|---|---|
次のいずれか:bigquery.metadataViewerbigquery.dataViewerbigquery.dataEditorbigquery.dataOwnerbigquery.admin
|
テーブル スナップショット |
テーブル スナップショットのメタデータを取得する
テーブル スナップショットのメタデータは、標準テーブルのメタデータと類似していますが、次の点が異なります。
- スナップショットが取得されたベーステーブルは、追加の
baseTableReferenceフィールドで識別します。 typeフィールドの値はSNAPSHOTです。
テーブル スナップショットのメタデータは、次のいずれかのオプションを使用して確認できます。
コンソール
Google Cloud コンソールで、[BigQuery] ページに移動します。
左側のペインで、 [エクスプローラ] をクリックします。

左側のペインが表示されていない場合は、 左側のペインを開くをクリックしてペインを開きます。
[エクスプローラ] ペインで、プロジェクトを開き、[データセット] をクリックして、テーブル スナップショットを含むデータセットをクリックします。
[概要 > テーブル] をクリックし、テーブル スナップショットの名前をクリックします。
[スナップショット] ペインが表示され、次の操作を行えます。
[スキーマ] タブをクリックすると、テーブル スナップショットのスキーマとポリシータグが表示されます。
[詳細] テーブルをクリックして、テーブル スナップショットのサイズ、有効期限、ベーステーブル、スナップショット時間などの情報を表示します。
SQL
テーブル スナップショットのメタデータを表示するには、INFORMATION_SCHEMA.TABLE_SNAPSHOTS ビューに対してクエリを実行します。
Google Cloud コンソールで、[BigQuery] ページに移動します。
クエリエディタで次のステートメントを入力します。
SELECT * FROM PROJECT_ID.DATASET_NAME.INFORMATION_SCHEMA.TABLE_SNAPSHOTS WHERE table_name = 'SNAPSHOT_NAME';
次のように置き換えます。
PROJECT_ID: スナップショットを含むプロジェクトのプロジェクト ID。DATASET_NAME: スナップショットを含むデータセットの名前。SNAPSHOT_NAME: スナップショットの名前。
[実行] をクリックします。
クエリの実行方法については、インタラクティブ クエリを実行するをご覧ください。
bq
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"
}
}