テーブル スナップショットのメタデータを表示する
このドキュメントでは、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
です。
テーブル スナップショットのメタデータは、次のいずれかのオプションを使用して確認できます。
コンソール
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" } }