本文說明如何建立資料儲存庫,並連結至 Cloud SQL 資料。您可以將這個資料儲存庫連結至 Gemini Enterprise 應用程式,讓代理分析資料。
如要使用 Gemini Enterprise 資料儲存庫連線至 Cloud SQL 資料,可以採用下列任一模式:
聯合查詢 (建議) [預先發布版]: 直接連線至 Cloud SQL 資料,不必支付複製和移動資料的輸出費用。聯合查詢會將查詢直接傳送至 Cloud SQL,涵蓋您的身分具備 Identity and Access Management (IAM) 存取權限的所有執行個體、資料庫和資料表,因此分析查詢的效率更高。使用聯合查詢模式時,Gemini Enterprise 應用程式的「Assistant」分頁會自動啟用 Knowledge Catalog,為代理提供工具,搜尋使用者有權存取的資料並查詢背景資訊。
資料擷取:將特定 Cloud SQL 資料表的資料複製到 Gemini Enterprise 資料儲存庫。您必須手動重新整理資料,才能反映 Cloud SQL 資料表的變更。這個模式會產生將資料移至新位置的輸出費用,且現有的 IAM 權限不會複製到資料儲存庫。
事前準備
如要在 Gemini Enterprise 建立 Cloud SQL 資料儲存庫,您必須具備 Gemini Enterprise 管理員 (roles/discoveryengine.agentspaceAdmin) 或 Discovery Engine 管理員 (roles/discoveryengine.admin) 角色。詳情請參閱「將權限授予管理員」。
如果專案受到 VPC Service Controls perimeter 保護,或已啟用組織政策強制執行功能,請確保組織政策允許連接器:
- 將
cloudsql新增至discoveryengine.managed.allowedDataSources代管限制 (限制資料連接器允許的資料來源) 的allowedDataSources參數。詳情請參閱「代管政策限制總覽」和「設定允許的資料來源」。
此外,請完成必要條件,並為您打算使用的連接器模式設定必要的 Cloud SQL IAM 權限:
聯合查詢
如要使用聯合查詢模式連線至 Cloud SQL,請在包含 Cloud SQL 執行個體的 Google Cloud 專案中完成下列必要條件:
在 Cloud SQL 執行個體上啟用 Data API:
gcloud sql instances patch <var>INSTANCE_NAME</var> \ --project=<var>PROJECT_ID</var> \ --data-api-access=ALLOW_DATA_API授予 IAM 權限:在包含 Cloud SQL 執行個體的 Google Cloud 專案中,將下列 IAM 角色授予透過連接器查詢或執行動作的使用者:
- 執行個體和資料庫存取權:
- Cloud SQL 檢視者 (
roles/cloudsql.viewer) 和 Cloud SQL 用戶端 (roles/cloudsql.client) (或具備 IAM 資料庫驗證功能的 Cloud SQL 執行個體使用者 (roles/cloudsql.instanceUser)),適用於唯讀查詢和工具。 - Cloud SQL 編輯者 (
roles/cloudsql.editor) 或 Cloud SQL 管理員 (roles/cloudsql.admin) (如果已啟用寫入或管理動作)。
- Cloud SQL 檢視者 (
- MCP 工具存取權:
- 在 Cloud SQL 執行個體所在的專案中,具備 MCP 工具使用者 (
roles/mcp.toolUser) 權限,可叫用 MCP 工具。
- 在 Cloud SQL 執行個體所在的專案中,具備 MCP 工具使用者 (
- 執行個體和資料庫存取權:
資料擷取
如要從 Cloud SQL 擷取資料,請設定下列 IAM 權限:
- 暫存 bucket 存取權:從 Cloud SQL 擷取資料時,資料會先暫存至 Cloud Storage bucket。將中繼 Cloud Storage bucket 的儲存空間管理員 (
roles/storage.admin) 角色授予 Cloud SQL 執行個體的服務帳戶 (例如p9876-abcd33f@gcp-sa-cloud-sql.iam.gserviceaccount.com)。 - 跨專案 Cloud SQL 存取權:如果匯入資料的來源 Google Cloud 專案,與包含您要建立的 Gemini Enterprise 資料儲存庫的 Google Cloud 專案不同,請將來源 Cloud SQL 專案的 Cloud SQL 檢視者 (
roles/cloudsql.viewer) 角色授予service-PROJECT_NUMBER@gcp-sa-discoveryengine.iam.gserviceaccount.com服務帳戶 (其中PROJECT_NUMBER是包含 Gemini Enterprise 資料儲存庫的Google Cloud 專案編號)。
建立 Cloud SQL 資料儲存庫
如要建立資料儲存庫,將 Cloud SQL 的資料連結至 Gemini Enterprise,請按照下列步驟操作:
前往 Google Cloud 控制台的「Gemini Enterprise」頁面。
前往「Data Stores」(資料儲存庫) 頁面。
按一下「Create data store」(建立資料儲存庫)。
在「Source」(來源) 頁面,選擇資料儲存庫的資料來源。在「Select a data source」(選取資料來源) 搜尋欄位中搜尋「Cloud SQL」,或在「First-party data sources」(第一方資料來源) 清單中找到 Cloud SQL。選取「新增資料來源」。
在「資料」頁面,選取連接器模式,指定資料連結方式。請根據所選模式,選取下列分頁標籤查看進一步的操作說明。
聯合查詢
資料擷取
- 選取「Data ingestion」(資料擷取)。
- 指定要匯入的資料詳細資料。在「Import data from your Cloud SQL table」(匯入 Cloud SQL 資料表內容) 下方,指定下列資訊:
- 專案 ID:包含 Cloud SQL 資料表的 Google Cloud 專案。這是必填欄位。
- 執行個體 ID:包含要匯入資料的 Cloud SQL 執行個體 ID。這是必填欄位。
- 資料庫 ID:包含要匯入資料的 Cloud SQL 資料庫 ID。這是必填欄位。
- 資料表 ID:包含要匯入資料的 Cloud SQL 資料表 ID。這是必填欄位。
- 輸入資料的 Google Cloud Storage bucket 位置。這是必填欄位。 (選用) 選取「啟用無伺服器匯出功能」,即可使用 Cloud SQL 無伺服器匯出功能。啟用無伺服器匯出功能會產生額外費用。請參閱「Cloud SQL 無伺服器匯出定價」。
- 按一下「繼續」。
在「Configuration」(設定) 頁面,調整資料儲存庫設定。
- 資料連接器的位置:選擇資料儲存庫中繼資料的儲存區域。資料儲存庫建立後,即無法變更位置。如要查看多區域的重要資訊,請參閱「Gemini Enterprise 位置」一文。
- 資料連接器名稱:在「Data connector name」(資料連接器名稱) 欄位中,輸入資料連接器的名稱。資料連接器建立後,即無法變更名稱。輸入名稱後,系統會為資料連接器產生專屬 ID。您也可以在「Tag (optional)」(標記 (選用)) 欄位中,輸入資料連接器的標記,做為連接器的固定 ID,各版本皆相同。
- Sensitive Data Protection 政策:選取資料儲存庫的 Sensitive Data Protection 政策。格式應為:
projects/{project}/locations/{location}/contentPolicies/{policy}。您之後可以編輯這項設定。
點選「建立」。
現在可以將資料儲存庫附加至 Gemini Enterprise 應用程式。在聯合查詢模式下,使用者透過附加的應用程式執行查詢時,會產生 Cloud SQL 使用費用;在資料擷取模式下,匯入資料會產生 Cloud SQL、Cloud Storage 和 Gemini Enterprise 索引費用,即使資料儲存庫尚未附加至應用程式也一樣。如要進一步瞭解這些費用,請參閱 Gemini Enterprise 定價。
後續步驟
如要將資料儲存庫連結至應用程式,請按照「建立 Gemini Enterprise 應用程式」中的步驟,建立應用程式並選取資料儲存庫。
瞭解 Knowledge Catalog 如何與 Data Cloud 連接器搭配運作 (使用聯合查詢模式時會自動啟用),協助代理搜尋使用者有權存取的資料,並查詢組織背景資訊。
如要建構高準確度、範圍明確的代理,並使用經過驗證的查詢,請參閱將 MySQL 適用的 Cloud SQL 資料代理發布至 Gemini Enterprise,或將 PostgreSQL 適用的 Cloud SQL 資料代理發布至 Gemini Enterprise。