テーブル スナップショットの一覧を取得する
このドキュメントでは、Google Cloud コンソール、INFORMATION_SCHEMA.TABLE_SNAPSHOTS
テーブルのクエリ、bq ls
コマンド、または tables.list
API の呼び出しにより、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
: 一覧表示するスナップショットを含むプロジェクトのプロジェクト ID。DATASET_NAME
: 一覧表示するスナップショットを含むデータセットの名前。