列出資料表快照
本文說明如何透過 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」
:如果沒有看到左側窗格,請按一下「展開左側窗格」圖示
開啟窗格。在「Explorer」窗格中展開專案,按一下「Datasets」(資料集),然後選取包含要列出資料表快照的資料集。
依序點選「總覽」>「表格」。如要從清單中找出快照,請查看「類型」欄中的
SNAPSHOT
值。
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
:包含您要列出快照的資料集名稱。