列出資料表快照
本文說明如何在 Google Cloud 主控台中,透過查詢 INFORMATION_SCHEMA.TABLE_SNAPSHOTS
資料表、使用 bq ls
指令,或是呼叫 tables.list
API,取得 BigQuery 資料集中的資料表快照清單。並說明如何透過查詢 INFORMATION_SCHEMA.TABLE_SNAPSHOTS
資料表,列出指定主資料表的所有資料表快照。本文件適用於熟悉 BigQuery 資料表和資料表快照的使用者。
權限與角色
本節說明您需要具備哪些身分與存取權管理 (IAM) 權限,才能在資料集中列出資料表快照,以及授予這些權限的預先定義 IAM 角色。列出資料表快照的權限和角色,與列出其他類型的資料表所需的權限和角色相同。
權限
如要列出資料集中的資料表快照,您必須具備下列權限:
權限 | 資源 |
---|---|
bigquery.tables.list
|
包含資料表快照的資料集。 |
角色
提供必要權限的預先定義 BigQuery 角色如下:
角色 | 資源 |
---|---|
下列任一項:bigquery.dataUser bigquery.dataViewer bigquery.dataEditor bigquery.dataOwner bigquery.admin
|
包含資料表快照的資料集。 |
列出資料集中的資料表快照
取得資料集中的資料表快照清單,與列出其他類型的資料表類似。資料表快照的類型為 SNAPSHOT
。
您可以使用下列任一選項列出資料表快照:
主控台
前往 Google Cloud 控制台的「BigQuery」頁面。
在「Explorer」窗格中,展開您要列出資料表快照的資料集的專案和資料集節點。
您可以透過圖示辨識資料集中的資料表快照。
SQL
查詢 INFORMATION_SCHEMA.TABLE_SNAPSHOTS
檢視表:
前往 Google Cloud 控制台的「BigQuery」頁面。
在查詢編輯器中輸入以下陳述式:
SELECT * FROM PROJECT_ID.DATASET_NAME.INFORMATION_SCHEMA.TABLE_SNAPSHOTS;
請依指示取代下列項目:
PROJECT_ID
:包含要列出的快照的專案 ID。DATASET_NAME
:包含要列出的快照的資料集名稱。
按一下
「Run」。
如要進一步瞭解如何執行查詢,請參閱「執行互動式查詢」一文。
結果如下所示:
+---------------+----------------+------------------+--------------------+-------------------+-----------------+-----------------------------+ | 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
:包含要列出的快照的資料集名稱。