列出檢視表

本文件說明如何在 BigQuery 中列出檢視表。

您可以透過以下方式,列出資料集中的檢視表:

  • 使用 Cloud Console 或 BigQuery 傳統網頁版 UI
  • 使用 bq ls CLI 指令
  • 呼叫 tables.list API 方法
  • 使用用戶端程式庫

所需權限

您至少必須擁有 bigquery.tables.list 權限,才能列出資料集中的檢視表。以下是擁有 bigquery.tables.list 權限的預先定義 Cloud IAM 角色:

  • bigquery.user
  • bigquery.metadataViewer
  • bigquery.dataViewer
  • bigquery.dataOwner
  • bigquery.dataEditor
  • bigquery.admin

如要進一步瞭解 BigQuery 中的 Cloud IAM 角色和權限,請參閱預先定義的角色與權限

列出檢視表

列出檢視表的方法和列出資料表相同。

如何列出資料集中的檢視表:

主控台

  1. 在導覽面板的「Resources」(資源) 區段中展開您的專案,然後按一下某個資料集。畫面會隨即顯示資料集中的資料表和檢視表。

  2. 捲動清單來檢視該資料集中的資料表。資料表和檢視表會分別以不同的圖示呈現。

    資料表和檢視表圖示

傳統版 UI

  1. 在 BigQuery 網頁版 UI 的導覽窗格中,按一下資料集左側的藍色箭號以展開資料集,或是按兩下資料集名稱。畫面會隨即顯示資料集中的資料表和檢視表。

  2. 捲動清單來檢視該資料集中的資料表。資料表和檢視表會分別以不同的圖示呈現。

    查看資料表

CLI

請發出 bq ls 指令。--format 旗標可用來控制輸出內容。如果您要列出非預設專案中的檢視表,請採用下列格式將專案 ID 新增至資料集:project_id:dataset

bq ls --format=pretty project_id:dataset

其中:

  • project_id 是您的專案 ID。
  • dataset 是資料集名稱。

當您執行指令時,Type 欄位會顯示 TABLEVIEW,例如:

+-------------------------+-------+----------------------+-------------------+
|         tableId         | Type  |        Labels        | Time Partitioning |
+-------------------------+-------+----------------------+-------------------+
| mytable                 | TABLE | department:shipping  |                   |
| myview                  | VIEW  |                      |                   |
+-------------------------+-------+----------------------+-------------------+

範例:

只要輸入下列指令,即可列出預設專案中 mydataset 資料集的檢視表。

bq ls --format=pretty mydataset

只要輸入下列指令,即可列出 myotherprojectmydataset 資料集的檢視表。

bq ls --format=pretty myotherproject:mydataset

API

如要使用 API 列出檢視表,請呼叫 tables.list 方法。

Go

請在嘗試這個範例之前,先依照 BigQuery 快速入門導覽課程:使用用戶端程式庫中的 Go 設定操作說明來進行。詳情請參閱 BigQuery Go API 參考資料說明文件

// To run this sample, you will need to create (or reuse) a context and
// an instance of the bigquery client.  For example:
// import "cloud.google.com/go/bigquery"
// ctx := context.Background()
// client, err := bigquery.NewClient(ctx, "your-project-id")
ts := client.Dataset(datasetID).Tables(ctx)
for {
	t, err := ts.Next()
	if err == iterator.Done {
		break
	}
	if err != nil {
		return err
	}
	fmt.Fprintf(w, "Table: %q\n", t.TableID)
}

Python

請在嘗試這個範例之前,先依照 BigQuery 快速入門導覽課程:使用用戶端程式庫中的 Python 設定操作說明來進行。詳情請參閱 BigQuery Python API 參考資料說明文件

from google.cloud import bigquery

# TODO(developer): Construct a BigQuery client object.
# client = bigquery.Client()

# TODO(developer): Set dataset_id to the ID of the dataset that contains
#                  the tables you are listing.
# dataset_id = 'your-project.your_dataset'

tables = client.list_tables(dataset_id)

print("Tables contained in '{}':".format(dataset_id))
for table in tables:
    print("{}.{}.{}".format(table.project, table.dataset_id, table.table_id))

後續步驟