En esta página, se describe cómo autenticarse en la API de Conversational Analytics. También explica cómo configurar conexiones a tus datos en Looker, BigQuery, Data Studio y Bases de datos en la nube (AlloyDB, GoogleSQL para Spanner, Cloud SQL para MySQL y Cloud SQL para PostgreSQL) con solicitudes HTTP directas o el SDK. La API de Conversational Analytics usa métodos de autenticación estándar deGoogle Cloud .
Antes de comenzar
Antes de que puedas autenticarte en la API de Conversational Analytics y configurar conexiones a tus datos, debes completar los requisitos previos y habilitar las APIs requeridas para tu proyecto de Google Cloud , como se describe en Cómo habilitar la API de Conversational Analytics.
Si planeas usar claves de encriptación administradas por el cliente (CMEK) para proteger tus recursos de la API de Conversational Analytics cuando uses fuentes de datos de Looker, debes otorgar permiso a la cuenta de servicio de la API para usar tu clave de Cloud Key Management Service. Para obtener más detalles, consulta Antes de comenzar en la documentación de CMEK.
Autenticación en la API de Conversational Analytics
En esta sección, se describe cómo autenticarse en la API de Conversational Analytics con métodos HTTP y Python para obtener los tokens de autorización necesarios. En los siguientes ejemplos, se usa la lógica del extremo regional según la ubicación del recurso. Para obtener más información sobre los extremos regionales, consulta Residencia de datos.
HTTP curl
El siguiente comando de curl de ejemplo envía una solicitud a la API de Conversational Analytics segmentando la URL del extremo adecuada para tu ubicación:
curl -H "Authorization: Bearer $(gcloud auth print-identity-token)" \
https://ENDPOINT_URL/PATH
Reemplaza los valores de muestra de la siguiente manera:
- ENDPOINT_URL: Es el extremo de servicio correspondiente a tu ubicación, por ejemplo,
geminidataanalytics.googleapis.comparaglobalogeminidataanalytics.us.rep.googleapis.comparaus. - PATH: Es la ruta de acceso del recurso adecuada, por ejemplo,
v1/projects/PROJECT_ID/locations/LOCATION/dataAgents.
HTTP con Python
En el siguiente ejemplo de código de Python, se muestra cómo obtener un token de acceso para autorizar solicitudes HTTP con Google Cloud CLI y Python. El código compila de forma dinámica la URL del extremo según el tipo de ubicación especificado.
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]}'}
Reemplaza los valores de muestra de la siguiente manera:
- PROJECT_ID: Es el ID de tu proyecto de facturación que tiene las APIs requeridas habilitadas.
- LOCATION: Es la ubicación en la que se almacenan tus recursos, por ejemplo,
globalous-east4. - METHOD: Es el método del extremo de destino o la ruta del recurso. Por ejemplo:
- Para crear un agente de datos, usa el método
POSTy la ruta de acceso/dataAgents. - Para enumerar los agentes de datos existentes, usa el método
GETy la ruta de acceso/dataAgents.
- Para crear un agente de datos, usa el método
Python SDK
En el siguiente ejemplo de código de Python, se muestra cómo autenticar tu Cuenta de Google para acceder a la API de Conversational Analytics en Colaboratory:
from google.colab import auth
auth.authenticate_user()
Conéctate a Looker con la API de Conversational Analytics
Para conectarte a Looker con la API de Conversational Analytics, debes proporcionar la siguiente información:
- La URL de tu instancia de Looker
- El modelo de LookML y la Exploración de Looker específicos que deseas usar como fuente de datos
Tu instancia de Looker también debe cumplir con requisitos específicos:
Además, el usuario o la cuenta de servicio que se autentican deben tener los permisos de Looker necesarios.
Elige el método de conexión adecuado
Luego, puedes optar por autorizar solicitudes con claves de la API de Looker (ID de cliente y secreto del cliente) o un token de acceso. Los clientes que usan Looker (Google Cloud Core) con solo conexiones privadas deben conectarse con un token de acceso.
Usa la siguiente tabla para elegir cómo autorizar las solicitudes.
| Tipo de usuario | Método de autorización | Para Looker (original) | Para Looker (Google Cloud Core) | Para Looker (Google Cloud Core) que solo usa conexiones privadas | Descripción |
| Incorporar usuarios | Token de acceso | login_user |
login_user |
login_user |
Respeta los permisos a nivel de fila y columna de LookML (por ejemplo, access_filters, access_grants, sql_always_where) del access_token del usuario objetivo. |
| Usuarios estándares | Token de acceso |
O |
Cliente de OAuth | Cliente de OAuth | Respeta los permisos a nivel de fila y columna de LookML (por ejemplo, access_filters, access_grants, sql_always_where) del access_token del usuario objetivo. |
| Cuenta de servicio solo para la API de Looker | Clave de API | ID de cliente y Secret | ID de cliente y Secret | N/A | Todos los usuarios comparten el mismo nivel de acceso a Looker. |
Las claves de API usan los permisos y los niveles de acceso del usuario. Las claves de API pueden ser útiles si compilas una aplicación en la que todos comparten el mismo nivel de acceso.
Un token de acceso te permite usar los permisos de LookML a nivel de la fila y la columna (por ejemplo,access_filters, access_grants, sql_always_where) del access_token del usuario objetivo. Un token de acceso es útil para una aplicación de múltiples usuarios.
Permisos de Looker necesarios
El usuario o la cuenta de servicio cuyas credenciales se usan para la autenticación deben tener un rol de Looker que incluya los siguientes permisos para los modelos que deseas consultar:
Puedes configurar estos permisos en la sección Administrador > Roles de tu instancia de Looker.
Conéctate con claves de API de Looker
En esta sección, se describe cómo generar las claves de API y configurar la API de Conversational Analytics para conectarse a Looker con solicitudes HTTP directas o el SDK.
Para establecer una conexión con una instancia de Looker, necesitas claves de la API de Looker válidas, que Looker crea y constan de un ID de cliente y un secreto del cliente. Looker usa estas claves para autenticar a los usuarios en la API de Looker.
Para obtener más información sobre cómo generar nuevas claves de la API de Looker, consulta Configuración del administrador: Usuarios. Para obtener más información sobre los métodos de autenticación y la administración de las claves de la API de Looker, consulta Autenticación de la API de Looker.
HTTP con Python
Después de generar las claves de API (ID y secreto del cliente), puedes configurar la API de Conversational Analytics para que se conecte a Looker realizando solicitudes HTTP directas. En el siguiente código de muestra, se muestra cómo especificar los detalles de tu fuente de datos de Looker y tus claves de API en el cuerpo de tu solicitud HTTP.
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",
}
}
}
Reemplaza los valores de muestra de la siguiente manera:
- CLIENT_ID: Es el ID de cliente de la clave de API de Looker que generaste.
- CLIENT_SECRET: Es el secreto del cliente de la clave de API de Looker que generaste.
- INSTANCE_URI: La URL completa de tu instancia de Looker (por ejemplo,
https://mycompany.looker.com) - MODEL: El nombre del modelo de LookML que deseas usar
- EXPLORE: El nombre de la función Explorar dentro del modelo especificado que deseas usar
Python SDK
Después de generar las claves de API (ID y secreto del cliente), puedes configurar la API de Conversational Analytics para que se conecte a Looker con Python. En el siguiente ejemplo de código de Python, se muestra cómo especificar los detalles de tu fuente de datos de Looker y tus claves de API para la API de Conversational Analytics.
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]
Reemplaza los valores de muestra de la siguiente manera:
- CLIENT_ID: Es el ID de cliente de la clave de API de Looker que generaste.
- CLIENT_SECRET: Es el secreto del cliente de la clave de API de Looker que generaste.
- INSTANCE_URI: La URL completa de tu instancia de Looker (por ejemplo,
https://mycompany.looker.com) - MODEL: El nombre del modelo de Looker que deseas usar
- EXPLORE: El nombre de la exploración de Looker que deseas usar
Conéctate con un token de acceso
En esta sección, se describe cómo configurar la API de Conversational Analytics para conectarse a Looker con un token de acceso.
Para establecer una conexión con una instancia de Looker, necesitas un valor access_token de OAuth2 válido, que se crea con una solicitud exitosa al extremo de API de Looker login.
Para obtener más información sobre cómo generar un token de acceso, consulta Autenticación de la API de Looker y cómo presentar credenciales de cliente para obtener un token de acceso.
HTTP con Python
En el siguiente código de ejemplo, se muestra cómo especificar los detalles de tu fuente de datos de Looker y tu token de acceso en el cuerpo de tu solicitud HTTP.
Sugerimos almacenar el token de acceso de Looker (access_token) como una variable de entorno para mejorar la seguridad.
looker_credentials = {
"oauth": {
"token": {
"access_token": "ACCESS_TOKEN",
}
}
}
looker_data_source = {
"looker": {
"explore_references": {
"looker_instance_uri": "INSTANCE_URI",
"lookml_model": "MODEL",
"explore": "EXPLORE",
}
}
}
Reemplaza los valores de muestra de la siguiente manera:
- ACCESS_TOKEN: Es el valor de
access_tokenque generas para autorizar solicitudes a Looker. - INSTANCE_URI: La URL completa de tu instancia de Looker (por ejemplo,
https://mycompany.looker.com) - MODEL: El nombre del modelo de LookML que deseas usar
- EXPLORE: El nombre de la función Explorar dentro del modelo especificado que deseas usar
Python SDK
En el siguiente código de muestra en Python, se muestra cómo definir los detalles de tu fuente de datos de Looker y tu token de acceso para autorizar solicitudes con el SDK de Python.
Sugerimos almacenar el token de acceso de Looker (access_token) como una variable de entorno para mejorar la seguridad.
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]
Reemplaza los valores de muestra de la siguiente manera:
- ACCESS_TOKEN: Es el valor de
access_tokenque usas para autorizar solicitudes a Looker. - INSTANCE_URI: La URL completa de tu instancia de Looker (por ejemplo,
https://mycompany.looker.com) - MODEL: El nombre del modelo de Looker que deseas usar
- EXPLORE: El nombre de la exploración de Looker que deseas usar
Conéctate a BigQuery con la API de Conversational Analytics
En esta sección, se describe cómo configurar la API de Conversational Analytics para conectarse a BigQuery con solicitudes HTTP directas o un SDK. La API de Conversational Analytics admite conexiones a tablas de BigQuery y a BigQuery Graph (en versión preliminar).
Con la API de Conversational Analytics, no hay límites estrictos en la cantidad de tablas de BigQuery a las que te puedes conectar. Sin embargo, conectarse a una gran cantidad de tablas puede reducir la exactitud o hacer que excedas el límite de tokens de entrada de Gemini. Las preguntas que requieren uniones complejas en varias tablas también pueden generar respuestas menos precisas.
Conéctate a las mesas
Para conectarte a una o más tablas de BigQuery, proporciona el ID del proyecto, el ID del conjunto de datos y el ID de la tabla para cada tabla.
En los siguientes ejemplos, se muestra cómo conectarse a una o más tablas de BigQuery con solicitudes HTTP o el SDK de Python.
HTTP con Python
En el siguiente código de muestra, se define una conexión a varias tablas de 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"
},
]
}
}
Reemplaza los valores de muestra de la siguiente manera:
- PROJECT_ID, PROJECT_ID_2, PROJECT_ID_3: Es el ID del proyecto de Google Cloud que contiene el conjunto de datos y la tabla de BigQuery a los que deseas conectarte. Para conectarte a un conjunto de datos públicos, especifica
bigquery-public-data. - DATASET_ID, DATASET_ID_2, DATASET_ID_3: Es el ID del conjunto de datos de BigQuery (o
catalog.namespacepara las tablas del catálogo del entorno de ejecución de Lakehouse). - TABLE_ID, TABLE_ID_2, TABLE_ID_3: Es el ID de la tabla de BigQuery (o el nombre de la tabla para las tablas del catálogo del entorno de ejecución de Lakehouse).
Python SDK
Puedes usar el SDK de auth desde Colaboratory para autenticarte con las credenciales de tu Cuenta de Google y autorizar al cliente de Colab a acceder a BigQuery con tus credenciales.
En el siguiente ejemplo de código en Python, se define una conexión a varias tablas de BigQuery y se muestra cómo autenticarse con las credenciales de tu Cuenta de Google en Colaboratory para autorizar solicitudes.
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]
Reemplaza los valores de muestra de la siguiente manera:
- PROJECT_ID, PROJECT_ID_2, PROJECT_ID_3: Es el ID del proyecto de Google Cloud que contiene el conjunto de datos y la tabla de BigQuery a los que deseas conectarte. Para conectarte a un conjunto de datos públicos, especifica
bigquery-public-data. - DATASET_ID, DATASET_ID_2, DATASET_ID_3: Es el ID del conjunto de datos de BigQuery (o
catalog.namespacepara las tablas del catálogo del entorno de ejecución de Lakehouse). Por ejemplo,san_francisco. - TABLE_ID, TABLE_ID_2, TABLE_ID_3: Es el ID de la tabla de BigQuery (o el nombre de la tabla para las tablas del catálogo del entorno de ejecución de Lakehouse). Por ejemplo,
street_trees.
Conéctate a un gráfico
En los siguientes ejemplos, se muestra cómo conectarse a un gráfico de BigQuery con solicitudes HTTP o el SDK de Python. Solo puedes conectarte a un gráfico por agente o conversación.
HTTP con Python
En el siguiente código de muestra, se define una conexión a un gráfico de BigQuery:
bigquery_data_sources = {
"bq": {
"propertyGraphReferences": [
{
"projectId": "GRAPH_PROJECT_ID",
"datasetId": "GRAPH_DATASET_ID",
"propertyGraphId": "GRAPH_ID"
}
]
}
}
Reemplaza los valores de muestra de la siguiente manera:
- GRAPH_PROJECT_ID: Es el ID del Google Cloud proyecto que contiene el gráfico de BigQuery.
- GRAPH_DATASET_ID: Es el ID del conjunto de datos de BigQuery que contiene el gráfico.
- GRAPH_ID: Es el ID del gráfico de BigQuery.
Python SDK
Puedes usar el SDK de auth desde Colaboratory para autenticarte en BigQuery con las credenciales de tu usuario autenticado en Colaboratory.
En el siguiente código de Python de ejemplo, se define una conexión a un gráfico de 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]
Reemplaza los valores de muestra de la siguiente manera:
- GRAPH_PROJECT_ID: Es el ID del Google Cloud proyecto que contiene el gráfico de BigQuery.
- GRAPH_DATASET_ID: Es el ID del conjunto de datos de BigQuery que contiene el gráfico.
- GRAPH_ID: Es el ID del gráfico de BigQuery.
Conéctate a Data Studio con la API de Conversational Analytics
Para conectarte a Data Studio con la API de Conversational Analytics, primero debes habilitar la API de Data Studio. En esta sección, se describe cómo configurar la API de Conversational Analytics para conectarse a Data Studio con solicitudes HTTP directas o un SDK.
Para usar la API de Conversational Analytics con Data Studio Pro, tu suscripción a Pro debe estar fuera de un perímetro de VPC-SC.
Habilita la API de Data Studio
Para habilitar la API de Data Studio, sigue las instrucciones en Habilita la API.
Autentícate en Data Studio
Para conectarte a Data Studio con la API de Conversational Analytics, debes asegurarte de que el usuario o la cuenta de servicio autenticados estén autorizados para acceder a la fuente de datos de Data Studio y, luego, proporcionar el ID de la fuente de datos.
HTTP con Python
Después de habilitar la API de Data Studio, puedes conectarte a Data Studio realizando solicitudes HTTP curl con Python. En el siguiente código de muestra, se muestra cómo especificar los detalles de tu fuente de datos de Data Studio en el cuerpo de tu solicitud HTTP.
Puedes conectarte a Data Studio realizando solicitudes HTTP directas. En el siguiente bloque de código, se muestra una llamada HTTP de ejemplo.
looker_studio_data_source = {
"studio":{
"studio_references":
[
{
"datasource_id": "DATASOURCE_ID"
}
]
}
}
Reemplaza your_studio_datasource_id por el ID real de la fuente de datos de Data Studio que deseas usar.
Python SDK
Después de habilitar la API de Data Studio, puedes conectarte a Data Studio con un SDK. En el siguiente ejemplo de código de Python, se muestra cómo especificar los detalles de tu fuente de datos de Data Studio.
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]
Reemplaza STUDIO-DATASOURCE-ID por el ID real de la fuente de datos de Data Studio que deseas usar.
Conéctate a bases de datos con la API de Conversational Analytics
Para conectarte a bases de datos con la API de Conversational Analytics, debes tener los permisos de IAM necesarios para tu instancia de base de datos.
Conéctate a AlloyDB para PostgreSQL
El usuario o la cuenta de servicio deben tener el rol alloydb.databaseUser. Para obtener más información, consulta AlloyDB, autenticación de la base de datos de IAM.
HTTP con Python
En la siguiente muestra de código, se indica cómo especificar los detalles de tu fuente de datos de AlloyDB en el cuerpo de la solicitud HTTP al extremo queryData.
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"
# }
}
}
Reemplaza los valores de muestra de la siguiente manera:
- your_table_id: Es la lista de IDs de tablas separadas por comas. Si no se configura, se consideran todas las tablas de la base de datos.
- your_context_set_id: Opcional: Es el ID completo del conjunto de contexto que se recuperará. Para obtener más información sobre cómo encontrar el ID del conjunto de contexto, consulta Cómo encontrar el ID del contexto del agente en AlloyDB.
Python SDK
En el siguiente código de muestra en Python, se muestra cómo definir los detalles de tu fuente de datos de AlloyDB con el SDK de Python.
# 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
Reemplaza los valores de muestra de la siguiente manera:
- your_table_id_1: Es el ID de la primera tabla de tu instancia de AlloyDB.
- your_table_id_2: Es el ID de la segunda tabla de tu instancia de AlloyDB.
- your_context_set_id: Es el ID completo del conjunto de contexto que se recuperará. Para obtener más información sobre cómo encontrar el ID del conjunto de contexto, consulta Cómo encontrar el ID del contexto del agente en AlloyDB.
Conéctate a GoogleSQL para Spanner
El usuario o la cuenta de servicio deben tener el rol spanner.databaseReader. Para obtener más información, consulta Aplica roles de IAM.
HTTP con Python
En el siguiente código de ejemplo, se muestra cómo especificar los detalles de tu fuente de datos de GoogleSQL para Spanner en el cuerpo de tu solicitud HTTP al extremo queryData.
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"
# }
}
}
Reemplaza los valores de muestra de la siguiente manera:
- your_table_id_1: Es el ID de la primera tabla en tu instancia de GoogleSQL para Spanner.
- your_table_id_2: Es el ID de la segunda tabla en tu instancia de GoogleSQL para Spanner.
- your_context_set_id: Es el ID completo del conjunto de contexto que se recuperará. Para obtener más información sobre cómo encontrar el ID del conjunto de contexto, consulta Cómo encontrar el ID del contexto del agente en GoogleSQL para Spanner.
Python SDK
En el siguiente código de muestra en Python, se muestra cómo definir los detalles de tu fuente de datos de GoogleSQL para Spanner con el SDK de Python.
# 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
Reemplaza los valores de muestra de la siguiente manera:
- your_table_id_1: Es el ID de la primera tabla en tu instancia de GoogleSQL para Spanner.
- your_table_id_2: Es el ID de la segunda tabla en tu instancia de GoogleSQL para Spanner.
- your_context_set_id: Es el ID completo del conjunto de contexto que se recuperará. Para obtener más información sobre cómo encontrar el ID del conjunto de contexto, consulta Cómo encontrar el ID del contexto del agente en GoogleSQL para Spanner.
Conéctate a Cloud SQL para MySQL y Cloud SQL para PostgreSQL
En las siguientes secciones, se proporcionan instrucciones para conectarse a Cloud SQL para MySQL y Cloud SQL para PostgreSQL. El usuario o la cuenta de servicio deben tener los roles cloudsql.studioUser y cloudsql.instanceUser. Para obtener más información, consulta Administra usuarios con autenticación de base de datos de IAM para Cloud SQL para MySQL y Administra usuarios con autenticación de base de datos de IAM para Cloud SQL para PostgreSQL.
HTTP con Python
En el siguiente código de muestra, se muestra cómo especificar los detalles de la fuente de datos de Cloud SQL para MySQL y Cloud SQL para PostgreSQL en el cuerpo de la solicitud HTTP al extremo queryData.
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\"
# }
}
}
Reemplaza los valores de muestra de la siguiente manera:
- your_table_id_1: Es el ID de la primera tabla en tu instancia de Cloud SQL para MySQL y Cloud SQL para PostgreSQL.
- your_table_id_2: Es el ID de la segunda tabla en tu instancia de Cloud SQL para MySQL y Cloud SQL para PostgreSQL.
- your_context_set_id: Es el ID completo del conjunto de contexto que se recuperará. Si deseas obtener más información para encontrar el ID del conjunto de contexto, consulta Cómo encontrar el ID del contexto del agente en Cloud SQL para MySQL y Cómo encontrar el ID del contexto del agente en Cloud SQL para PostgreSQL.
Python SDK
En el siguiente código de muestra en Python, se muestra cómo definir los detalles de tu fuente de datos de Cloud SQL para MySQL y Cloud SQL para PostgreSQL con el SDK de Python.
# 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
Reemplaza los valores de muestra de la siguiente manera:
- your_table_id_1: Es el ID de la primera tabla en tu instancia de Cloud SQL y Cloud SQL para PostgreSQL.
- your_table_id_2: Es el ID de la segunda tabla en tu instancia de Cloud SQL y Cloud SQL para PostgreSQL.
- your_context_set_id: Es el ID completo del conjunto de contexto que se recuperará. Si deseas obtener más información para encontrar el ID del conjunto de contexto, consulta Cómo encontrar el ID del contexto del agente en Cloud SQL y Cómo encontrar el ID del contexto del agente en Cloud SQL para PostgreSQL.