本頁說明如何向 Conversational Analytics API 進行驗證。本文也會說明如何使用直接 HTTP 要求或 SDK,設定與 Looker、BigQuery、數據分析和資料庫 (AlloyDB、GoogleSQL for Spanner、MySQL 適用的 Cloud SQL 和 PostgreSQL 適用的 Cloud SQL) 中資料的連線。Conversational Analytics API 使用標準的Google Cloud 驗證方法。
事前準備
如要對 Conversational Analytics API 進行驗證,並設定資料連線,請先完成必要條件,並為 Google Cloud 專案啟用必要的 API,詳情請參閱「啟用 Conversational Analytics API」。
如果您打算使用客戶自行管理的加密金鑰 (CMEK),在透過 Looker 資料來源使用 Conversational Analytics API 時保護資源,請務必授予 API 服務帳戶使用 Cloud Key Management Service 金鑰的權限。詳情請參閱 CMEK 說明文件中的「事前準備」。
向 Conversational Analytics API 進行驗證
本節說明如何使用 HTTP 和 Python 方法取得必要的授權權杖,以驗證 Conversational Analytics API。下列範例會根據資源位置使用區域端點邏輯。如要進一步瞭解區域端點,請參閱「資料落地權」。
HTTP curl
下列 curl 指令範例會以 API 端點方法為目標,示範如何使用 Google Cloud CLI 產生的身分識別權杖傳送已驗證的要求:
curl -H "Authorization: Bearer $(gcloud auth print-identity-token)" \
https://ENDPOINT_URL/v1/projects/PROJECT_ID/locations/LOCATION/METHOD
將範例值替換為下列值:
- ENDPOINT_URL:與您所在位置對應的服務端點網址,例如
global預設位置的geminidataanalytics.googleapis.com,或是us多區域的geminidataanalytics.us.rep.googleapis.com。 - PROJECT_ID:您 Google Cloud 啟用必要 API 的專案 ID。
LOCATION:資源的儲存位置 (例如
global或us-east4)。METHOD:目標端點方法或資源路徑 (例如
dataAgents可建立代理程式,或dataAgents/AGENT_ID可取得特定代理程式)。
使用 Python 進行 HTTP
下列 Python 程式碼範例以 API 端點方法為目標,示範如何取得存取權杖及傳送經過驗證的 HTTP 要求。程式碼會根據指定的地區類型,動態建構端點網址。
billing_project = 'PROJECT_ID'
location = 'LOCATION'
access_token = !gcloud auth application-default print-access-token
# Set the base URL based on location.
if not location or location == "global":
base_url = "https://geminidataanalytics.googleapis.com"
elif "-" in location:
# Regional endpoints
base_url = f"https://geminidataanalytics-{location}.googleapis.com"
else:
# Multi-regional endpoints
base_url = f"https://geminidataanalytics.{location}.rep.googleapis.com"
url = f"{base_url}/v1/projects/{billing_project}/locations/{location}/METHOD"
headers = {"Authorization": f'Bearer {access_token[0]}'}
將範例值替換為下列值:
- PROJECT_ID:您 Google Cloud 啟用必要 API 的專案 ID。
LOCATION:資源的儲存位置 (例如
global或us-east4)。METHOD:目標端點方法或資源路徑。例如:
- 如要建立資料代理程式,請使用
POST方法並指定dataAgents。 - 如要列出現有資料代理程式,請使用
GET方法並指定dataAgents。
- 如要建立資料代理程式,請使用
Python SDK
下列 Python 程式碼範例說明如何在 Colaboratory 中驗證 Google 帳戶,以存取對話式數據分析 API:
from google.colab import auth
auth.authenticate_user()
使用對話式數據分析 API 連線至 Looker
如要透過 Conversational Analytics API 連結至 Looker,請提供下列資訊:
Looker 執行個體也必須符合特定規定:
此外,驗證使用者或服務帳戶必須具備必要 Looker 權限。
選擇適當的連線方式
接著,您可以選擇使用 Looker API 金鑰 (用戶端 ID 和用戶端密鑰) 或存取權杖授權要求。如果客戶僅透過私人連線使用 Looker (Google Cloud Core),則必須使用存取權杖連線。
請參閱下表,選擇授權要求的方式。
| 使用者類型 | 授權方法 | 適用於 Looker (原始版本) | Looker (Google Cloud Core) | 僅使用私人連線的 Looker (Google Cloud Core) | 說明 |
| 嵌入使用者 | 存取權杖 | login_user |
login_user |
login_user |
遵守目標使用者 access_token 的 LookML 列和資料欄層級權限 (例如 access_filters、access_grants、sql_always_where)。 |
| 標準使用者 | 存取權杖 |
或 |
OAuth 用戶端 | OAuth 用戶端 | 遵守目標使用者 access_token 的 LookML 列和資料欄層級權限 (例如 access_filters、access_grants、sql_always_where)。 |
| 僅限 Looker API 的服務帳戶 | API 金鑰 | 用戶端 ID 和密鑰 | 用戶端 ID 和密鑰 | 不適用 | 所有使用者都享有相同層級的 Looker 存取權。 |
API 金鑰會使用使用者的權限和存取層級。如果您要建構的應用程式中,所有人都享有相同存取層級,API 金鑰就非常實用。
存取權杖可讓您使用目標使用者 access_token 的 LookML 列和欄層級權限 (例如 access_filters、access_grants、sql_always_where)。存取權杖適用於多用戶端應用程式。
必要 Looker 權限
用來驗證的使用者或服務帳戶必須具備 Looker 角色,且該角色包含您要查詢的模型適用的下列權限:
您可以在 Looker 執行個體的「管理」>「角色」部分設定這些權限。
使用 Looker API 金鑰連線
本節說明如何產生 API 金鑰,以及如何使用直接 HTTP 要求或 SDK 設定 Conversational Analytics API,以便連線至 Looker。
如要與 Looker 執行個體建立連線,您需要有效的 Looker API 金鑰 (由 Looker 建立,包含用戶端 ID 和用戶端密鑰)。Looker 會使用這些金鑰,針對 Looker API 驗證使用者身分。
如要進一步瞭解如何產生新的 Looker API 金鑰,請參閱「管理設定 - 使用者」。如要進一步瞭解驗證方式和管理 Looker API 金鑰,請參閱「Looker API 驗證」。
使用 Python 進行 HTTP
產生 API 金鑰 (用戶端 ID 和密鑰) 後,您就可以發出直接 HTTP 要求,設定 Conversational Analytics API 來連結至 Looker。以下程式碼範例示範如何在 HTTP 要求的內文中,指定 Looker 資料來源詳細資料和 API 金鑰。
looker_credentials = {
"oauth": {
"secret": {
"client_id": "CLIENT_ID",
"client_secret": "CLIENT_SECRET",
}
}
}
looker_data_source = {
"looker": {
"explore_references": {
"looker_instance_uri": "INSTANCE_URI",
"lookml_model": "MODEL",
"explore": "EXPLORE",
}
}
}
將範例值替換為下列值:
- CLIENT_ID:您產生的 Looker API 金鑰用戶端 ID
- CLIENT_SECRET:您產生的 Looker API 金鑰用戶端密鑰
- INSTANCE_URI:Looker 執行個體的完整網址 (例如
https://mycompany.looker.com) - MODEL:要使用的 LookML 模型名稱
- EXPLORE:您要在指定模型中使用的 Explore 名稱
Python SDK
產生 API 金鑰 (用戶端 ID 和密鑰) 後,即可使用 Python 設定 Conversational Analytics API,以便連結至 Looker。下列 Python 程式碼範例說明如何指定 Looker 資料來源詳細資料和 API 金鑰給 Conversational Analytics API。
looker_client_id = "CLIENT_ID" # @param {type:"string"}
looker_client_secret = "CLIENT_SECRET" # @param {type:"string"}
looker_instance_uri = "INSTANCE_URI" # @param {type:"string"}
lookml_model = "MODEL" # @param {type:"string"}
explore = "EXPLORE" # @param {type:"string"}
# Looker data source
looker_explore_reference = geminidataanalytics.LookerExploreReference()
looker_explore_reference.looker_instance_uri = looker_instance_uri
looker_explore_reference.lookml_model = lookml_model
looker_explore_reference.explore = explore
credentials = geminidataanalytics.Credentials()
credentials.oauth.secret.client_id = looker_client_id
credentials.oauth.secret.client_secret = looker_client_secret
# Connect to your data source
datasource_references = geminidataanalytics.DatasourceReferences()
datasource_references.looker.explore_references = [looker_explore_reference]
請依下列方式替換範例值:
- CLIENT_ID:您產生的 Looker API 金鑰用戶端 ID
- CLIENT_SECRET:您產生的 Looker API 金鑰用戶端密鑰
- INSTANCE_URI:Looker 執行個體的完整網址 (例如
https://mycompany.looker.com) - MODEL:要使用的 Looker 模型名稱
- EXPLORE:要使用的 Looker 探索名稱
使用存取權杖連線
本節說明如何設定 Conversational Analytics API,以便使用存取權杖連線至 Looker。
如要與 Looker 執行個體建立連線,您需要有效的 OAuth2 access_token 值,這個值是透過對 login Looker API 端點提出要求並成功取得回應後建立。
如要進一步瞭解如何產生存取權杖,請參閱「Looker API 驗證」和「提供用戶端憑證以取得存取權杖」。
使用 Python 進行 HTTP
下列程式碼範例示範如何在 HTTP 要求主體中,指定 Looker 資料來源詳細資料和存取權杖。
建議您將 Looker 存取權杖 (access_token) 儲存為環境變數,以提升安全性。
looker_credentials = {
"oauth": {
"token": {
"access_token": "ACCESS_TOKEN",
}
}
}
looker_data_source = {
"looker": {
"explore_references": {
"looker_instance_uri": "INSTANCE_URI",
"lookml_model": "MODEL",
"explore": "EXPLORE",
}
}
}
請依下列方式替換範例值:
- ACCESS_TOKEN:您產生的
access_token值,用於授權對 Looker 的要求 - INSTANCE_URI:Looker 執行個體的完整網址 (例如
https://mycompany.looker.com) - MODEL:要使用的 LookML 模型名稱
- EXPLORE:您要在指定模型中使用的 Explore 名稱
Python SDK
下列 Python 程式碼範例示範如何定義 Looker 資料來源詳細資料和存取權杖,以便使用 Python SDK 授權要求。
建議您將 Looker 存取權杖 (access_token) 儲存為環境變數,以提升安全性。
looker_access_token = "ACCESS_TOKEN"
looker_instance_uri = "INSTANCE_URI"
lookml_model = "MODEL"
explore = "EXPLORE"
# Looker data source
looker_explore_reference = geminidataanalytics.LookerExploreReference()
looker_explore_reference.looker_instance_uri = looker_instance_uri
looker_explore_reference.lookml_model = lookml_model
looker_explore_reference.explore = explore
credentials = geminidataanalytics.Credentials()
credentials.oauth.token.access_token = looker_access_token
# Connect to your data source
datasource_references = geminidataanalytics.DatasourceReferences()
datasource_references.looker.explore_references = [looker_explore_reference]
將範例值替換為下列值:
- ACCESS_TOKEN:用於授權對 Looker 提出要求的
access_token值 - INSTANCE_URI:Looker 執行個體的完整網址 (例如
https://mycompany.looker.com) - MODEL:要使用的 Looker 模型名稱
- EXPLORE:要使用的 Looker 探索名稱
使用對話式數據分析 API 連線至 BigQuery
本節說明如何設定 Conversational Analytics API,透過直接 HTTP 要求或 SDK 連線至 BigQuery。對話式數據分析 API 支援連結至 BigQuery 資料表和 BigQuery 圖表 (搶先版)。
使用對話式數據分析 API 時,可連結的 BigQuery 資料表數量沒有硬性限制。不過,連結大量表格可能會降低準確度,或導致您超出 Gemini 的輸入權杖限制。如果查詢需要跨多個資料表進行複雜聯結,也可能導致回覆不夠準確。
連結至資料表
如要連結一或多個 BigQuery 資料表,請提供每個資料表的專案 ID、資料集 ID 和資料表 ID。
下列範例說明如何使用 HTTP 要求或 Python SDK,連線至一或多個 BigQuery 資料表。
使用 Python 進行 HTTP
下列程式碼範例定義了與多個 BigQuery 資料表的連線:
bigquery_data_sources = {
"bq": {
"tableReferences": [
{
"projectId": "PROJECT_ID",
"datasetId": "DATASET_ID",
"tableId": "TABLE_ID"
},
{
"projectId": "PROJECT_ID_2",
"datasetId": "DATASET_ID_2",
"tableId": "TABLE_ID_2"
},
{
"projectId": "PROJECT_ID_3",
"datasetId": "DATASET_ID_3",
"tableId": "TABLE_ID_3"
},
]
}
}
將範例值替換為下列值:
- PROJECT_ID、PROJECT_ID_2、PROJECT_ID_3:包含要連結的 BigQuery 資料集和資料表的專案 ID。 Google Cloud 如要連結公開資料集,請指定
bigquery-public-data。 - DATASET_ID、DATASET_ID_2、DATASET_ID_3:BigQuery 資料集的 ID (或 Lakehouse 執行階段目錄資料表的
catalog.namespace)。 - TABLE_ID、TABLE_ID_2、TABLE_ID_3:BigQuery 資料表的 ID (或 Lakehouse 執行階段目錄資料表的資料表名稱)。
Python SDK
您可以使用 Colaboratory 的 auth SDK,透過 Google 帳戶憑證進行驗證,並授權 Colab 用戶端使用您的憑證存取 BigQuery。
下列 Python 程式碼範例定義了多個 BigQuery 資料表的連線,並示範如何在 Colaboratory 中使用 Google 帳戶憑證進行驗證,以授權要求。
from google.colab import auth
auth.authenticate_user()
# BigQuery data source
bigquery_table_reference = geminidataanalytics.BigQueryTableReference()
bigquery_table_reference.project_id = "PROJECT_ID"
bigquery_table_reference.dataset_id = "DATASET_ID"
bigquery_table_reference.table_id = "TABLE_ID"
bigquery_table_reference_2 = geminidataanalytics.BigQueryTableReference()
bigquery_table_reference_2.project_id = "PROJECT_ID_2"
bigquery_table_reference_2.dataset_id = "DATASET_ID_2"
bigquery_table_reference_2.table_id = "TABLE_ID_2"
bigquery_table_reference_3 = geminidataanalytics.BigQueryTableReference()
bigquery_table_reference_3.project_id = "PROJECT_ID_3"
bigquery_table_reference_3.dataset_id = "DATASET_ID_3"
bigquery_table_reference_3.table_id = "TABLE_ID_3"
# Connect to your data source
datasource_references = geminidataanalytics.DatasourceReferences()
datasource_references.bq.table_references = [bigquery_table_reference, bigquery_table_reference_2, bigquery_table_reference_3]
將範例值替換為下列值:
- PROJECT_ID、PROJECT_ID_2、PROJECT_ID_3:包含要連結的 BigQuery 資料集和資料表的專案 ID。 Google Cloud 如要連結公開資料集,請指定
bigquery-public-data。 - DATASET_ID、DATASET_ID_2、DATASET_ID_3:BigQuery 資料集的 ID (或 Lakehouse 執行階段目錄資料表的
catalog.namespace)。例如:san_francisco。 - TABLE_ID、TABLE_ID_2、TABLE_ID_3:BigQuery 資料表的 ID (或 Lakehouse 執行階段目錄資料表的資料表名稱)。例如:
street_trees。
連線至圖表
下列範例說明如何使用 HTTP 要求或 Python SDK 連線至 BigQuery 圖表。每個服務專員或對話只能連結一個圖表。
使用 Python 進行 HTTP
下列程式碼範例會定義 BigQuery 圖表的連線:
bigquery_data_sources = {
"bq": {
"propertyGraphReferences": [
{
"projectId": "GRAPH_PROJECT_ID",
"datasetId": "GRAPH_DATASET_ID",
"propertyGraphId": "GRAPH_ID"
}
]
}
}
將範例值替換為下列值:
- GRAPH_PROJECT_ID:包含 BigQuery 圖表的 Google Cloud 專案 ID。
- GRAPH_DATASET_ID:包含圖表的 BigQuery 資料集 ID。
- GRAPH_ID:BigQuery 圖表的 ID。
Python SDK
您可以使用 Colaboratory 的 auth SDK,透過已向 Colaboratory 驗證的使用者憑證,向 BigQuery 進行驗證。
下列 Python 程式碼範例會定義 BigQuery 圖表的連線:
from google.colab import auth
auth.authenticate_user()
# BigQuery graph reference
bigquery_pg_reference = geminidataanalytics.BigQueryPropertyGraphReference()
bigquery_pg_reference.project_id = "GRAPH_PROJECT_ID"
bigquery_pg_reference.dataset_id = "GRAPH_DATASET_ID"
bigquery_pg_reference.property_graph_id = "GRAPH_ID"
# Connect to your data source
datasource_references = geminidataanalytics.DatasourceReferences()
datasource_references.bq.property_graph_references = [bigquery_pg_reference]
將範例值替換為下列值:
- GRAPH_PROJECT_ID:包含 BigQuery 圖表的 Google Cloud 專案 ID。
- GRAPH_DATASET_ID:包含圖表的 BigQuery 資料集 ID。
- GRAPH_ID:BigQuery 圖表的 ID。
使用 Conversational Analytics API 連結至數據分析
如要透過 Conversational Analytics API 連結至 Data Studio,請先啟用 Data Studio API。本節說明如何設定 Conversational Analytics API,以便使用直接 HTTP 要求或 SDK 連線至數據分析。
如要透過數據分析 Pro 使用對話式數據分析 API,Pro 訂閱方案必須位於 VPC-SC 範圍外。
啟用 Data Studio API
如要啟用 Data Studio API,請按照「啟用 API」一文中的操作說明進行。
向數據分析驗證
如要透過 Conversational Analytics API 連線至數據分析,請務必授權已驗證的使用者或服務帳戶存取數據分析資料來源,然後提供資料來源 ID。
使用 Python 進行 HTTP
啟用 Data Studio API 後,您可以使用 Python 提出 HTTP curl 要求,連線至 Data Studio。下列程式碼範例說明如何在 HTTP 要求的內文中指定數據分析資料來源詳細資料。
您可以提出直接 HTTP 要求,連線至數據分析。下列程式碼區塊顯示 HTTP 呼叫範例。
looker_studio_data_source = {
"studio":{
"studio_references":
[
{
"datasource_id": "DATASOURCE_ID"
}
]
}
}
將 your_studio_datasource_id 替換為要使用的數據分析資料來源實際 ID。
Python SDK
啟用 Data Studio API 後,您可以使用 SDK 連線至 Data Studio。下列 Python 程式碼範例說明如何指定數據分析資料來源詳細資料。
datasource_id = "DATASOURCE_ID"
# Looker Studio
studio_references = geminidataanalytics.StudioDatasourceReference()
studio_references.datasource_id = studio_datasource_id
# Connect to your data source
datasource_references = geminidataanalytics.DatasourceReferences()
datasource_references.studio.studio_references = [studio_references]
請將 STUDIO-DATASOURCE-ID 替換為要使用的數據分析資料來源實際 ID。
使用 Conversational Analytics API 連線至資料庫
如要透過對話式數據分析 API 連線至資料庫,您必須具備資料庫執行個體的必要 IAM 權限。
連線至 AlloyDB for PostgreSQL
使用者或服務帳戶必須具備 alloydb.databaseUser 角色。詳情請參閱「AlloyDB、IAM 資料庫驗證」。
使用 Python 進行 HTTP
下列程式碼範例說明如何在 HTTP 要求的內文中,指定 AlloyDB 資料來源詳細資料。
alloydb_data_sources = {
"alloydb": {
"database_reference": {
"project_id": alloydb_project_id,
"region": location,
"cluster_id": alloydb_cluster_id,
"instance_id": alloydb_instance_id,
"database_id": alloydb_database_id,
"table_ids":["table1", "table2", "table3"]
},
# Optional: Include this if you have pre-authored context for the agent
# "agent_context_reference": {
# "context_set_id": f"projects/alloydb_project_id/locations/{location}/contextSets/your_context_set_id"
# }
}
}
請依下列方式替換範例值:
- your_table_id:以半形逗號分隔的資料表 ID 清單。如未設定,系統會將資料庫中的所有資料表納入考量。
- your_context_set_id:選用:要擷取的內容集完整 ID。如要進一步瞭解如何找出內容集 ID,請參閱 AlloyDB 說明文件。
Python SDK
下列 Python 程式碼範例說明如何使用 Python SDK 定義 AlloyDB 資料來源詳細資料。
# AlloyDB data source
alloydb_table_ids = ["your_table_id_1", "your_table_id_2"]
alloydb_context_set_id = "your_context_set_id"
alloydb_reference = geminidataanalytics.AlloyDbReference()
alloydb_reference.database_reference.table_id = alloydb_table_ids
alloydb_reference_database_reference.project_id = billing_project
alloydb_reference_database_reference.region = "us-central1" # Example region
alloydb_reference_database_reference.cluster_id = alloydb_cluster_id
alloydb_reference_database_reference.instance_id = alloydb_instance_id
alloydb_reference_database_reference.database_id = alloydb_database_id
# optional set agent context reference
# alloydb_ref_1.agent_context_reference.context_set_id = f"projects/{billing_project}/locations/{location}/contextSets/your_context_set_id"
alloydb_reference.agent_context_reference.context_set_id = alloydb_context_set_id
# Connect to your data source
datasource_references = geminidataanalytics.DatasourceReferences()
datasource_references.alloydb.alloydb_reference = alloydb_reference
將範例值替換為下列值:
- your_table_id_1:AlloyDB 執行個體中第一個資料表的 ID。
- your_table_id_2:AlloyDB 執行個體中第二個資料表的 ID。
- your_context_set_id:要擷取的情境集完整 ID。如要進一步瞭解如何找出內容集 ID,請參閱 AlloyDB 說明文件。
連線至 Spanner 適用的 GoogleSQL
使用者或服務帳戶必須具備 spanner.databaseReader 角色。詳情請參閱「套用 IAM 角色」。
使用 Python 進行 HTTP
下列程式碼範例說明如何在 HTTP 要求的內文中,指定 Spanner 資料來源詳細資料的 GoogleSQL。
spanner_data_sources = {
"spanner_reference": {
"database_reference": {
"project_id": spanner_project_id,
"region": location,
"engine": engine,
"instance_id": spanner_instance_id,
"database_id": spanner_database_id,
},
# Optional: Include this if you have pre-authored context for the agent
# "agent_context_reference": {
# "context_set_id": f"projects/{billing_project}/locations/{location}/contextSets/your_context_set_id"
# }
}
}
將範例值替換為下列值:
- your_table_id_1:GoogleSQL for Spanner 執行個體中第一個資料表的 ID。
- your_table_id_2:GoogleSQL for Spanner 執行個體中第二個資料表的 ID。
- your_context_set_id:要擷取的情境集完整 ID。如要進一步瞭解如何找出內容集 ID,請參閱 Spanner 說明文件。
Python SDK
下列 Python 程式碼範例說明如何使用 Python SDK,定義 Spanner 資料來源詳細資料的 GoogleSQL。
# Spanner data source
spanner_table_ids = ["your_table_id_1", "your_table_id_2"]
spanner_context_set_id = "your_context_set_id"
spanner_reference = geminidataanalytics.SpannerReference()
spanner_reference.database_reference.table_id = spanner_table_ids
spanner_reference.agent_context_reference.context_set_id = spanner_context_set_id
# Connect to your data source
datasource_references = geminidataanalytics.DatasourceReferences()
datasource_references.spanner.spanner_reference = spanner_reference
將範例值替換為下列值:
- your_table_id_1:GoogleSQL for Spanner 執行個體中第一個資料表的 ID。
- your_table_id_2:GoogleSQL for Spanner 執行個體中第二個資料表的 ID。
- your_context_set_id:要擷取的情境集完整 ID。如要進一步瞭解如何找出內容集 ID,請參閱 Spanner 說明文件。
連線至 MySQL 適用的 Cloud SQL 和 PostgreSQL 適用的 Cloud SQL
以下各節提供連線至 MySQL 適用的 Cloud SQL 和 PostgreSQL 適用的 Cloud SQL 的操作說明。使用者或服務帳戶必須具備 cloudsql.studioUser 和 cloudsql.instanceUser 角色。詳情請參閱「使用 MySQL 適用的 Cloud SQL IAM 資料庫驗證機制管理使用者」和「使用 PostgreSQL 適用的 Cloud SQL IAM 資料庫驗證機制管理使用者」。
使用 Python 進行 HTTP
下列程式碼範例示範如何在 HTTP 要求主體中,指定 MySQL 適用的 Cloud SQL 和 PostgreSQL 適用的 Cloud SQL 資料來源詳細資料。
cloudsql_data_source = {
"cloudSqlReference": {
"databaseReference": {
"engine": MYSQL,
"project_id": cloud-db-nl2sql,
"region": us-central1,
"instance_id": nl2sql-birdsql-mysql,
"database_id": financial
},
# Optional: Include this if you have pre-authored context for the agent
# "agent_context_reference": {
# "context_set_id": f"projects/cloud-db-nl2sql/locations/us-central1/contextSets/bdf_pg_all_templates\"
# }
}
}
將範例值替換為下列值:
- your_table_id_1:MySQL 適用的 Cloud SQL 和 PostgreSQL 適用的 Cloud SQL 執行個體中第一個資料表的 ID。
- your_table_id_2:MySQL 適用的 Cloud SQL 和 PostgreSQL 適用的 Cloud SQL 執行個體中第二個資料表的 ID。
- your_context_set_id:要擷取的情境集完整 ID。如要進一步瞭解如何找出內容集 ID,請參閱 MySQL 適用的 Cloud SQL 和 PostgreSQL 適用的 Cloud SQL 說明文件。
Python SDK
以下 Python 程式碼範例說明如何使用 Python SDK 定義 MySQL 適用的 Cloud SQL 和 PostgreSQL 適用的 Cloud SQL 資料來源詳細資料。
# Cloud SQL data source
cloudsql_table_ids = ["your_table_id_1", "your_table_id_2"]
cloudsql_context_set_id = "your_context_set_id"
cloudsql_reference = geminidataanalytics.CloudSqlReference()
cloudsql_reference.database_reference.table_id = cloudsql_table_ids
cloudsql_reference.agent_context_reference.context_set_id = cloudsql_context_set_id
# Connect to your data source
datasource_references = geminidataanalytics.DatasourceReferences()
datasource_references.cloudsql.cloudsql_reference = cloudsql_reference
將範例值替換為下列值:
- your_table_id_1:MySQL 適用的 Cloud SQL 和 PostgreSQL 適用的 Cloud SQL 執行個體中第一個資料表的 ID。
- your_table_id_2:MySQL 適用的 Cloud SQL 和 PostgreSQL 適用的 Cloud SQL 執行個體中第二個資料表的 ID。
- your_context_set_id:要擷取的情境集完整 ID。如要進一步瞭解如何找出內容集 ID,請參閱 MySQL 適用的 Cloud SQL 和 PostgreSQL 適用的 Cloud SQL 說明文件。