列出檢視表

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

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

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

所需權限

您至少必須擁有 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))

後續步驟

本頁內容對您是否有任何幫助?請提供意見:

傳送您對下列選項的寶貴意見...

這個網頁