データセット内のテーブル スナップショットの一覧表示

このドキュメントでは、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.dataUser テーブル スナップショットを含むデータセット。

データセット内のテーブル スナップショットを一覧表示する

データセット内のテーブル スナップショットの一覧の取得は、他のタイプのテーブルの一覧表示と似ています。テーブル スナップショットのタイプは SNAPSHOT です。

たとえば、現在のプロジェクト myProject にある library_backup データセット内のテーブルを次の手順で一覧表示できます。

SQL

次のクエリを実行します。

SELECT *
  FROM library_backup.INFORMATION_SCHEMA.TABLE_SNAPSHOTS;

出力は次のようになります。

+-------------+--------------+----------------+------------------+-----------------+---------------+---------------------------+
|table_catalog|table_schema  |table_name      |base_table_catalog|base_table_schema|base_table_name|snapshot_time              |
+-------------+--------------+----------------+------------------+-----------------+---------------+---------------------------+
|myProject    |library_backup|books_2021-04-16|myProject         |library          |books          |2021-04-16 14:05:27.519 UTC|
+-------------+--------------+----------------+------------------+-----------------+---------------+---------------------------+

詳細については、テーブル スナップショットのメタデータをご覧ください。

bq

Cloud Shell で次のコマンドを入力します。

Cloud Shell に移動

bq ls library_backup

出力は次のようになります。

+-------------------------+--------+---------------------+-------------------+
|         tableId         |  Type  |       Labels        | Time Partitioning |
+-------------------------+--------+---------------------+-------------------+
| books_2021-04-16        |SNAPSHOT|                     |                   |
+-------------------------+--------+---------------------+-------------------+

API

次のパラメータを指定して、tables.list メソッドを呼び出します。

パラメータ
projectId myProject
datasetId library_backup

指定したベーステーブルのテーブル スナップショットを一覧表示する

INFORMATION_SCHEMA.TABLE_SNAPSHOTS テーブルをクエリすると、指定したベーステーブルのテーブルのスナップショットを一覧表示できます。例:

SQL

SELECT * FROM library_backup.INFORMATION_SCHEMA.TABLE_SNAPSHOTS
WHERE base_table_name="books";

テーブルのセキュリティ

BigQuery でテーブルへのアクセスを制御するには、テーブルのアクセス制御の概要をご覧ください。

次のステップ