建立及管理邏輯檢視區塊
在 Bigtable 中,邏輯檢視區塊是 SQL 查詢的結果,可做為虛擬資料表,供其他 SQL 查詢使用。資料仍保留在來源資料表中。
本文說明邏輯檢視畫面,以及如何建立及對其執行作業。如要與持續性具體化檢視表和授權檢視表比較,請參閱資料表和檢視表。
邏輯檢視畫面可讓您對 Bigtable 資料執行下列操作:
- 避免重複查詢:您可以在邏輯檢視區塊中儲存及演進資料欄對應和轉換邏輯,其他邏輯檢視區塊可以使用這些邏輯,不必複製及貼上邏輯或瞭解邏輯。
- 與專為讀取關聯式資料庫而設計的系統整合: 邏輯檢視畫面可讓您讀取 Bigtable 資料,就像讀取關聯式資料庫資料表或 Cassandra 資料表一樣。
- 針對多個資料表執行相同的邏輯檢視畫面:修改
FROM
子句後,您可以使用相同的檢視畫面,查詢 Bigtable 執行個體中的任何資料表。 - 提供一致的介面:即使來源表格有所變更,應用程式仍可使用邏輯檢視畫面。
邏輯檢視區塊是執行個體層級的資源。您可以使用 Google Cloud CLI 或 Google Cloud 控制台中的 Bigtable Studio 查詢編輯器,建立邏輯檢視區塊。如要查詢邏輯檢視區塊,可以使用 Bigtable Studio 查詢編輯器,或任何支援 SQL 的 Bigtable 用戶端程式庫。
邏輯檢視畫面具有下列特性:
- 必須使用 GoogleSQL for Bigtable 支援的 SQL 功能
- 唯讀
- 必須使用 SQL 讀取,而非呼叫
ReadRows
- 使用定義者權限。即使您沒有從來源資料表讀取的權限,只要有從邏輯檢視區塊讀取的權限,就能查詢該檢視區塊。
您用來定義邏輯檢視區塊的資料列索引鍵、資料欄限定詞和資料欄值,都會視為服務資料。因此,請勿使用含有私密資訊的資料列索引鍵、資料欄限定詞或資料欄值建立邏輯檢視區塊。如要瞭解服務資料的處理方式,請參閱Google Cloud 隱私權聲明。
事前準備
如果您打算使用 gcloud CLI,請按照下列步驟操作:
-
Install the Google Cloud CLI.
-
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
-
To initialize the gcloud CLI, run the following command:
gcloud init
必要的角色
如要取得建立及管理邏輯檢視區塊所需的權限,請要求管理員授予您執行個體的 Bigtable 管理員 (roles/bigtable.admin
) 角色。否則,請視要執行的作業,在執行個體層級要求下列權限:
- 建立:
bigtable.logicalViews.create
- 更新狀態:
bigtable.logicalViews.update
- 刪除:
bigtable.logicalViews.delete
- 清單:
bigtable.logicalViews.list
- 說明:
bigtable.logicalViews.get
如要建立邏輯檢視表,您也必須至少具備來源資料表的 bigtable.table.readRows
權限。
如要查看所有可用的角色和權限,請參閱「使用 IAM 控管 Bigtable 存取權」。
建立邏輯檢視畫面
主控台
在 Google Cloud 控制台中開啟 Bigtable 執行個體清單。
選取執行個體。
在導覽窗格中,按一下「Bigtable Studio」。
按一下
開啟新分頁,然後選擇「編輯器」。在查詢編輯器中編寫查詢。如果查詢是有效的 SQL,則會顯示「有效」訊息。
選用:如要以 SQL 樣式設定陳述式格式,請按一下「格式」。
按一下「執行」。查詢結果會顯示在「結果」表格中。
確認查詢內容正確無誤後,按一下「儲存」,然後選擇「儲存檢視表」。
如要進一步瞭解如何使用查詢編輯器,請參閱「使用 Bigtable Studio 管理資料」。
gcloud
如要建立邏輯檢視區塊,請使用 gcloud bigtable logical-views create
指令。
gcloud bigtable logical-views create VIEW \
--instance=INSTANCE --query=QUERY
更改下列內容:
VIEW
:新邏輯檢視區塊的 ID,最多 128 個字元。這個 ID 在執行個體中不得與資料表 ID 和檢視區塊 ID 重複。QUERY
:適用於 Bigtable 查詢的有效 GoogleSQLINSTANCE
:要在其中建立邏輯檢視區塊的執行個體 ID
選用:
- 如要防止刪除邏輯檢視區塊,請在指令中附加
--deletion-protection
標記。如果未套用這項設定,系統可能會刪除邏輯檢視畫面。您也可以附加--no-deletion-protection
,明確允許刪除邏輯檢視區塊。詳情請參閱本文件的「修改刪除保護機制」一節。
更新邏輯檢視區塊
主控台
在 Google Cloud 控制台中開啟 Bigtable 執行個體清單。
從清單中選取執行個體。
在導覽窗格中,按一下「Bigtable Studio」。檔案總管會顯示檢視畫面清單。
選用:系統會列出執行個體中的前 10 個檢視畫面。如要查看另外 10 個,請按一下「顯示更多」。
在要更新的檢視區塊旁,按一下 more_vert 動作選單,然後點選「查看定義」。
修改查詢。
按一下「執行」。
確認結果窗格顯示的資料應納入檢視畫面後,請按一下「另存為」。
在對話方塊中,輸入您修改的檢視區塊 ID。
對話方塊會顯示訊息,警告您即將覆寫現有檢視區塊。
按一下 [儲存]。
gcloud
如要更新邏輯檢視區,以執行其他查詢,請使用 gcloud bigtable logical-views update
指令。
gcloud bigtable logical-views update VIEW \
--instance=INSTANCE --query=QUERY
更改下列內容:
VIEW
:要更新的邏輯檢視區塊 IDQUERY
:有效的 GoogleSQL 查詢INSTANCE
:包含邏輯檢視區塊的例項 ID
如要更新邏輯檢視區塊以修改防刪除設定,請參閱本文的「修改防刪除設定」一節。
刪除邏輯檢視畫面
這項操作無法復原。
如果邏輯檢視區已啟用防刪除功能,您就無法刪除該檢視區。如要刪除已啟用防刪除功能的邏輯檢視區塊,請更新邏輯檢視區塊以停用防刪除功能。詳情請參閱本文件的「修改刪除保護機制」一節。
主控台
在 Google Cloud 控制台中開啟 Bigtable 執行個體清單。
從清單中選取執行個體。
在導覽窗格中,按一下「Bigtable Studio」。檔案總管會顯示檢視畫面清單。
選用:系統會列出執行個體中的前 10 個檢視畫面。如要查看另外 10 個,請按一下「顯示更多」。
展開「Views」(檢視畫面)。
找到要刪除的檢視畫面,然後按一下旁邊的 more_vert 動作選單,再按一下「刪除」。
gcloud
如要刪除邏輯檢視區塊,請使用 gcloud bigtable logical-views delete
指令。
gcloud bigtable logical-views delete VIEW \
--instance=INSTANCE
更改下列內容:
VIEW
:要更新的邏輯檢視區塊 IDINSTANCE
:包含邏輯檢視區塊的例項 ID
取得執行個體的邏輯檢視區塊清單
您可以查看執行個體的邏輯檢視區塊清單。
主控台
在 Google Cloud 控制台中開啟 Bigtable 執行個體清單。
從清單中選取執行個體。
在導覽窗格中,按一下「Bigtable Studio」。檔案總管會顯示檢視畫面清單。
選用:系統會列出執行個體中的前 10 個檢視畫面。如要查看另外 10 個,請按一下「顯示更多」。
gcloud
如要查看執行個體的邏輯檢視區塊清單,請使用 gcloud bigtable logical-views list
指令。
gcloud bigtable logical-views list --instance=INSTANCE
將 INSTANCE
替換為執行個體 ID。
描述邏輯檢視畫面
如要取得邏輯檢視區塊的詳細資料,請使用 gcloud bigtable logical-views
describe
指令。
gcloud bigtable logical-views describe VIEW \
--instance=INSTANCE
終端機顯示的詳細資料類似於下列內容:
createTime: '2025-03-07T19:49:56.316578Z'
etag: W/"/v1/17919275593532352351"
name: projects/my-project/instances/my-instance/logicalViews/my-view
query: SELECT street FROM addresses
updateTime: '2025-03-07T19:49:56.316578Z'
deletion_protection: true
修改防刪除設定
防刪除功能可防止刪除邏輯檢視區塊。如要啟用或停用邏輯檢視區的防刪除功能,您必須具備必要權限。詳情請參閱本文的「必要角色」一節。
gcloud
如要為邏輯檢視區啟用刪除保護功能,請執行 gcloud bigtable logical-views update
指令:
gcloud bigtable logical-views update VIEW \
--instance=INSTANCE \
--deletion-protection
如要停用邏輯檢視區塊的刪除保護機制,請執行下列指令:
gcloud bigtable logical-views update VIEW \
--instance=INSTANCE \
--no-deletion-protection
更改下列內容:
VIEW
:邏輯檢視區塊的 ID,最多 128 個字元。這個 ID 在執行個體中不得與其他資料表和檢視區塊 ID 重複。INSTANCE
:要更新邏輯檢視區塊的執行個體 ID。