Halaman ini menjelaskan cara mengautentikasi terhadap Conversational Analytics API. Dokumen ini juga menjelaskan cara mengonfigurasi koneksi ke data Anda di Looker, BigQuery, Data Studio, dan Cloud Databases (AlloyDB, GoogleSQL untuk Spanner, Cloud SQL untuk MySQL, dan Cloud SQL untuk PostgreSQL) dengan menggunakan permintaan HTTP langsung atau SDK. Conversational Analytics API menggunakan metode autentikasiGoogle Cloud standar.
Sebelum memulai
Sebelum dapat melakukan autentikasi terhadap Conversational Analytics API dan mengonfigurasi koneksi ke data Anda, Anda harus menyelesaikan prasyarat dan mengaktifkan API yang diperlukan untuk Google Cloud project Anda, seperti yang dijelaskan dalam Mengaktifkan Conversational Analytics API.
Jika Anda berencana menggunakan kunci enkripsi yang dikelola pelanggan (CMEK) untuk melindungi resource Conversational Analytics API saat menggunakan sumber data Looker, Anda harus memberikan izin kepada akun layanan API untuk menggunakan kunci Cloud Key Management Service Anda. Untuk mengetahui detailnya, lihat Sebelum memulai dalam dokumentasi CMEK.
Melakukan autentikasi terhadap Conversational Analytics API
Bagian ini menjelaskan cara melakukan autentikasi terhadap Conversational Analytics API menggunakan metode HTTP dan Python untuk mendapatkan token otorisasi yang diperlukan. Contoh berikut menggunakan logika endpoint regional berdasarkan lokasi resource. Untuk mengetahui informasi selengkapnya tentang endpoint regional, lihat Residensi data.
HTTP curl
Perintah curl contoh berikut menargetkan metode endpoint API untuk menunjukkan cara mengirim permintaan terautentikasi menggunakan token identitas yang dibuat oleh Google Cloud CLI:
curl -H "Authorization: Bearer $(gcloud auth print-identity-token)" \
https://ENDPOINT_URL/v1/projects/PROJECT_ID/locations/LOCATION/METHOD
Ganti nilai sampel sebagai berikut:
- ENDPOINT_URL: URL endpoint layanan yang sesuai dengan lokasi Anda, misalnya,
geminidataanalytics.googleapis.comuntuk lokasi defaultglobal, ataugeminidataanalytics.us.rep.googleapis.comuntuk multi-regionus. - PROJECT_ID: ID project Google Cloud tempat Anda mengaktifkan API yang diperlukan.
LOCATION: Lokasi penyimpanan resource Anda (misalnya,
globalatauus-east4).METHOD: Metode endpoint target atau jalur resource (misalnya,
dataAgentsuntuk membuat agen, ataudataAgents/AGENT_IDuntuk mendapatkan agen tertentu).
HTTP menggunakan Python
Contoh kode Python berikut menargetkan metode endpoint API untuk menunjukkan cara mendapatkan token akses dan mengirim permintaan HTTP yang diautentikasi. Kode ini membangun URL endpoint secara dinamis berdasarkan jenis lokasi yang ditentukan.
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]}'}
Ganti nilai sampel sebagai berikut:
- PROJECT_ID: ID project Google Cloud tempat Anda mengaktifkan API yang diperlukan.
LOCATION: Lokasi penyimpanan resource Anda (misalnya,
globalatauus-east4).METHOD: Metode endpoint target atau jalur resource. Contoh:
- Untuk membuat agen data, gunakan metode
POSTdan tentukandataAgents. - Untuk mencantumkan agen data yang ada, gunakan metode
GETdan tentukandataAgents.
- Untuk membuat agen data, gunakan metode
Python SDK
Contoh kode Python berikut menunjukkan cara mengautentikasi Akun Google Anda untuk mengakses Conversational Analytics API dalam Colaboratory:
from google.colab import auth
auth.authenticate_user()
Menghubungkan ke Looker dengan Conversational Analytics API
Untuk terhubung ke Looker dengan Conversational Analytics API, Anda harus memberikan informasi berikut:
- URL instance Looker Anda
- Model LookML dan Eksplorasi Looker spesifik yang ingin Anda gunakan sebagai sumber data
Instance Looker Anda juga harus memenuhi persyaratan tertentu:
Selain itu, pengguna yang mengautentikasi atau akun layanan harus memiliki izin Looker yang diperlukan.
Pilih metode koneksi yang sesuai
Kemudian, Anda dapat memilih untuk mengizinkan permintaan menggunakan kunci API Looker (client ID dan secret client) atau token akses. Pelanggan yang menggunakan Looker (Google Cloud core) dengan hanya koneksi pribadi harus terhubung menggunakan token akses.
Gunakan tabel berikut untuk memilih cara mengizinkan permintaan.
| Jenis pengguna | Metode otorisasi | Untuk Looker (asli) | Untuk Looker (Google Cloud core) | Untuk Looker (Google Cloud core) yang hanya menggunakan koneksi pribadi | Deskripsi |
| Menyematkan pengguna | Token akses | login_user |
login_user |
login_user |
Mematuhi izin tingkat baris dan kolom LookML (misalnya, access_filters, access_grants, sql_always_where) dari access_token pengguna target. |
| Pengguna standar | Token akses |
Atau |
Klien OAuth | Klien OAuth | Mematuhi izin tingkat baris dan kolom LookML (misalnya, access_filters, access_grants, sql_always_where) dari access_token pengguna target. |
| Akun layanan khusus API Looker | Kunci API | ID dan rahasia klien | ID dan rahasia klien | T/A | Semua pengguna memiliki tingkat akses yang sama ke Looker. |
Kunci API menggunakan izin dan tingkat akses pengguna. Kunci API dapat berguna jika Anda membangun aplikasi yang memungkinkan semua orang berbagi tingkat akses yang sama.
Token akses memungkinkan Anda menggunakan izin tingkat baris dan kolom LookML (misalnya,access_filters, access_grants, sql_always_where) dari access_token pengguna target. Token akses berguna untuk aplikasi multi-tenant.
Izin Looker yang diperlukan
Pengguna atau akun layanan yang kredensialnya digunakan untuk mengautentikasi harus diberi peran Looker yang mencakup izin berikut untuk model yang ingin Anda kueri:
Anda dapat mengonfigurasi izin ini di bagian Admin > Peran di instance Looker Anda.
Menghubungkan dengan kunci API Looker
Bagian ini menjelaskan cara membuat kunci API dan mengonfigurasi Conversational Analytics API untuk terhubung ke Looker menggunakan permintaan HTTP langsung atau SDK.
Untuk membuat koneksi dengan instance Looker, Anda memerlukan kunci API Looker yang valid, yang dibuat oleh Looker dan terdiri dari ID klien dan rahasia klien. Looker menggunakan kunci ini untuk mengautentikasi pengguna terhadap Looker API.
Untuk mempelajari lebih lanjut cara membuat kunci API Looker baru, lihat Setelan admin - Pengguna. Untuk mempelajari lebih lanjut metode autentikasi dan pengelolaan kunci API Looker, lihat Autentikasi Looker API.
HTTP menggunakan Python
Setelah membuat kunci API (ID dan rahasia klien), Anda dapat mengonfigurasi Conversational Analytics API untuk terhubung ke Looker dengan membuat permintaan HTTP langsung. Contoh kode berikut menunjukkan cara menentukan detail sumber data Looker dan kunci API dalam isi permintaan HTTP Anda.
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",
}
}
}
Ganti nilai sampel sebagai berikut:
- CLIENT_ID: ID klien kunci Looker API yang Anda buat
- CLIENT_SECRET: Rahasia klien dari kunci API Looker yang Anda buat
- INSTANCE_URI: URL lengkap instance Looker Anda (misalnya,
https://mycompany.looker.com) - MODEL: Nama model LookML yang ingin Anda gunakan
- EXPLORE: Nama Eksplorasi dalam model tertentu yang ingin Anda gunakan
Python SDK
Setelah membuat kunci API (ID klien dan rahasia), Anda dapat mengonfigurasi Conversational Analytics API untuk terhubung ke Looker menggunakan Python. Contoh kode Python berikut menunjukkan cara menentukan detail sumber data Looker dan kunci API Anda ke 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]
Ganti nilai sampel sebagai berikut:
- CLIENT_ID: ID klien kunci Looker API yang Anda buat
- CLIENT_SECRET: Rahasia klien dari kunci API Looker yang Anda buat
- INSTANCE_URI: URL lengkap instance Looker Anda (misalnya,
https://mycompany.looker.com) - MODEL: Nama model Looker yang ingin Anda gunakan
- EXPLORE: Nama Eksplorasi Looker yang ingin Anda gunakan
Menghubungkan dengan token akses
Bagian ini menjelaskan cara mengonfigurasi Conversational Analytics API untuk terhubung ke Looker menggunakan token akses.
Untuk membuat koneksi dengan instance Looker, Anda memerlukan nilai access_token OAuth2 yang valid, yang dibuat oleh permintaan yang berhasil ke endpoint Looker API login.
Untuk mempelajari lebih lanjut cara membuat token akses, lihat Autentikasi Looker API dan cara menyajikan kredensial klien untuk mendapatkan token akses.
HTTP menggunakan Python
Kode contoh berikut menunjukkan cara menentukan detail sumber data Looker dan token akses dalam isi permintaan HTTP Anda.
Sebaiknya simpan token akses Looker (access_token) sebagai variabel lingkungan untuk meningkatkan keamanan.
looker_credentials = {
"oauth": {
"token": {
"access_token": "ACCESS_TOKEN",
}
}
}
looker_data_source = {
"looker": {
"explore_references": {
"looker_instance_uri": "INSTANCE_URI",
"lookml_model": "MODEL",
"explore": "EXPLORE",
}
}
}
Ganti nilai sampel sebagai berikut:
- ACCESS_TOKEN: Nilai
access_tokenyang Anda buat untuk memberi otorisasi permintaan ke Looker - INSTANCE_URI: URL lengkap instance Looker Anda (misalnya,
https://mycompany.looker.com) - MODEL: Nama model LookML yang ingin Anda gunakan
- EXPLORE: Nama Eksplorasi dalam model tertentu yang ingin Anda gunakan
Python SDK
Contoh kode Python berikut menunjukkan cara menentukan detail sumber data Looker dan token akses untuk mengizinkan permintaan menggunakan Python SDK.
Sebaiknya simpan token akses Looker (access_token) sebagai variabel lingkungan untuk meningkatkan keamanan.
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]
Ganti nilai sampel sebagai berikut:
- ACCESS_TOKEN: Nilai
access_tokenyang Anda gunakan untuk memberi otorisasi permintaan ke Looker - INSTANCE_URI: URL lengkap instance Looker Anda (misalnya,
https://mycompany.looker.com) - MODEL: Nama model Looker yang ingin Anda gunakan
- EXPLORE: Nama Eksplorasi Looker yang ingin Anda gunakan
Menghubungkan ke BigQuery dengan Conversational Analytics API
Bagian ini menjelaskan cara mengonfigurasi Conversational Analytics API untuk terhubung ke BigQuery menggunakan permintaan HTTP langsung atau SDK. Conversational Analytics API mendukung koneksi ke tabel BigQuery dan BigQuery Graph (dalam Pratinjau).
Dengan Conversational Analytics API, tidak ada batasan ketat pada jumlah tabel BigQuery yang dapat Anda hubungkan. Namun, menghubungkan ke sejumlah besar tabel dapat mengurangi akurasi atau menyebabkan Anda melampaui batas token input Gemini. Kueri yang memerlukan gabungan kompleks di beberapa tabel juga dapat menghasilkan respons yang kurang akurat.
Menghubungkan ke tabel
Untuk terhubung ke satu atau beberapa tabel BigQuery, berikan project ID, ID set data, dan ID tabel untuk setiap tabel.
Contoh berikut menunjukkan cara menghubungkan ke satu atau beberapa tabel BigQuery menggunakan permintaan HTTP atau Python SDK.
HTTP menggunakan Python
Contoh kode berikut menentukan koneksi ke beberapa tabel 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"
},
]
}
}
Ganti nilai sampel sebagai berikut:
- PROJECT_ID, PROJECT_ID_2, PROJECT_ID_3: ID project Google Cloud yang berisi set data dan tabel BigQuery yang ingin Anda hubungkan. Untuk terhubung ke set data publik, tentukan
bigquery-public-data. - DATASET_ID, DATASET_ID_2, DATASET_ID_3: ID set data BigQuery (atau
catalog.namespaceuntuk tabel katalog runtime Lakehouse). - TABLE_ID, TABLE_ID_2, TABLE_ID_3: ID tabel BigQuery (atau nama tabel untuk tabel katalog runtime Lakehouse).
Python SDK
Anda dapat menggunakan SDK auth dari Colaboratory untuk melakukan autentikasi menggunakan kredensial Akun Google Anda dan memberikan otorisasi kepada klien Colab untuk mengakses BigQuery menggunakan kredensial Anda.
Contoh kode Python berikut menentukan koneksi ke beberapa tabel BigQuery dan menunjukkan cara melakukan autentikasi menggunakan kredensial Akun Google Anda dalam Colaboratory untuk mengizinkan permintaan.
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]
Ganti nilai sampel sebagai berikut:
- PROJECT_ID, PROJECT_ID_2, PROJECT_ID_3: ID project Google Cloud yang berisi set data dan tabel BigQuery yang ingin Anda hubungkan. Untuk terhubung ke set data publik, tentukan
bigquery-public-data. - DATASET_ID, DATASET_ID_2, DATASET_ID_3: ID set data BigQuery (atau
catalog.namespaceuntuk tabel katalog runtime Lakehouse). Sebagai contoh,san_francisco - TABLE_ID, TABLE_ID_2, TABLE_ID_3: ID tabel BigQuery (atau nama tabel untuk tabel katalog runtime Lakehouse). Contoh,
street_trees.
Menghubungkan ke grafik
Contoh berikut menunjukkan cara terhubung ke grafik BigQuery menggunakan permintaan HTTP atau Python SDK. Anda hanya dapat terhubung ke satu grafik per agen atau percakapan.
HTTP menggunakan Python
Kode contoh berikut menentukan koneksi ke grafik BigQuery:
bigquery_data_sources = {
"bq": {
"propertyGraphReferences": [
{
"projectId": "GRAPH_PROJECT_ID",
"datasetId": "GRAPH_DATASET_ID",
"propertyGraphId": "GRAPH_ID"
}
]
}
}
Ganti nilai sampel sebagai berikut:
- GRAPH_PROJECT_ID: ID project Google Cloud yang berisi grafik BigQuery.
- GRAPH_DATASET_ID: ID set data BigQuery yang berisi grafik.
- GRAPH_ID: ID grafik BigQuery.
Python SDK
Anda dapat menggunakan SDK auth dari Colaboratory untuk melakukan autentikasi ke BigQuery dengan menggunakan kredensial pengguna Anda yang diautentikasi ke Colaboratory.
Contoh kode Python berikut menentukan koneksi ke grafik 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]
Ganti nilai sampel sebagai berikut:
- GRAPH_PROJECT_ID: ID project Google Cloud yang berisi grafik BigQuery.
- GRAPH_DATASET_ID: ID set data BigQuery yang berisi grafik.
- GRAPH_ID: ID grafik BigQuery.
Menghubungkan ke Data Studio dengan Conversational Analytics API
Untuk terhubung ke Data Studio dengan Conversational Analytics API, Anda harus mengaktifkan Data Studio API terlebih dahulu. Bagian ini menjelaskan cara mengonfigurasi Conversational Analytics API untuk terhubung ke Data Studio menggunakan permintaan HTTP langsung atau SDK.
Untuk menggunakan Conversational Analytics API dengan Data Studio Pro, langganan Pro Anda harus berada di luar perimeter VPC-SC.
Aktifkan Data Studio API
Untuk mengaktifkan Data Studio API, ikuti petunjuk di Mengaktifkan API.
Melakukan autentikasi ke Data Studio
Untuk terhubung ke Data Studio dengan Conversational Analytics API, Anda harus memastikan pengguna atau akun layanan yang diautentikasi diizinkan untuk mengakses sumber data Data Studio, lalu memberikan ID sumber data.
HTTP menggunakan Python
Setelah mengaktifkan Data Studio API, Anda dapat terhubung ke Data Studio dengan membuat permintaan curl HTTP menggunakan Python. Kode contoh berikut menunjukkan cara menentukan detail sumber data Data Studio dalam isi permintaan HTTP Anda.
Anda dapat terhubung ke Data Studio dengan membuat permintaan HTTP langsung. Contoh panggilan HTTP ditampilkan dalam blok kode berikut.
looker_studio_data_source = {
"studio":{
"studio_references":
[
{
"datasource_id": "DATASOURCE_ID"
}
]
}
}
Ganti your_studio_datasource_id dengan ID sumber data sebenarnya dari sumber data Data Studio yang ingin Anda gunakan.
Python SDK
Setelah mengaktifkan Data Studio API, Anda dapat terhubung ke Data Studio menggunakan SDK. Contoh kode Python berikut menunjukkan cara menentukan detail sumber data Data Studio Anda.
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]
Ganti STUDIO-DATASOURCE-ID dengan ID sumber data sebenarnya dari sumber data Data Studio yang ingin Anda gunakan.
Menghubungkan ke database dengan Conversational Analytics API
Untuk terhubung ke database dengan Conversational Analytics API, Anda harus memiliki izin IAM yang diperlukan untuk instance database Anda.
Menghubungkan ke AlloyDB untuk PostgreSQL
Pengguna atau akun layanan harus memiliki peran alloydb.databaseUser. Untuk mengetahui informasi selengkapnya, lihat AlloyDB, autentikasi database IAM.
HTTP menggunakan Python
Contoh kode berikut menunjukkan cara menentukan detail sumber data AlloyDB di isi permintaan HTTP Anda ke endpoint 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"
# }
}
}
Ganti nilai sampel sebagai berikut:
- your_table_id: Daftar ID tabel yang dipisahkan koma. Jika tidak disetel, semua tabel dalam database akan dipertimbangkan.
- your_context_set_id: Opsional: ID lengkap set konteks yang akan diambil. Untuk mengetahui informasi selengkapnya tentang cara menemukan ID set konteks, lihat Menemukan ID konteks agen di AlloyDB.
Python SDK
Contoh kode Python berikut menunjukkan cara menentukan detail sumber data AlloyDB menggunakan Python SDK.
# 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
Ganti nilai sampel sebagai berikut:
- your_table_id_1: ID tabel pertama di instance AlloyDB Anda.
- your_table_id_2: ID tabel kedua di instance AlloyDB Anda.
- your_context_set_id: ID lengkap set konteks yang akan diambil. Untuk mengetahui informasi selengkapnya tentang cara menemukan ID set konteks, lihat Menemukan ID konteks agen di AlloyDB.
Menghubungkan ke GoogleSQL untuk Spanner
Pengguna atau akun layanan harus memiliki peran spanner.databaseReader. Untuk mengetahui informasi selengkapnya, lihat Menerapkan peran IAM.
HTTP menggunakan Python
Contoh kode berikut menunjukkan cara menentukan detail sumber data GoogleSQL for Spanner dalam isi permintaan HTTP Anda ke endpoint 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"
# }
}
}
Ganti nilai sampel sebagai berikut:
- your_table_id_1: ID tabel pertama di instance GoogleSQL for Spanner Anda.
- your_table_id_2: ID tabel kedua di instance GoogleSQL for Spanner Anda.
- your_context_set_id: ID lengkap set konteks yang akan diambil. Untuk mengetahui informasi selengkapnya tentang cara menemukan ID set konteks, lihat Menemukan ID konteks agen di GoogleSQL untuk Spanner.
Python SDK
Contoh kode Python berikut menunjukkan cara menentukan detail sumber data GoogleSQL untuk Spanner menggunakan Python SDK.
# 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
Ganti nilai sampel sebagai berikut:
- your_table_id_1: ID tabel pertama di instance GoogleSQL for Spanner Anda.
- your_table_id_2: ID tabel kedua di instance GoogleSQL for Spanner Anda.
- your_context_set_id: ID lengkap set konteks yang akan diambil. Untuk mengetahui informasi selengkapnya tentang cara menemukan ID set konteks, lihat Menemukan ID konteks agen di GoogleSQL untuk Spanner.
Menghubungkan ke Cloud SQL untuk MySQL dan Cloud SQL untuk PostgreSQL
Bagian berikut memberikan petunjuk untuk terhubung ke Cloud SQL untuk MySQL dan Cloud SQL untuk PostgreSQL. Pengguna atau akun layanan harus memiliki peran cloudsql.studioUser dan cloudsql.instanceUser. Untuk mengetahui informasi selengkapnya, lihat Mengelola pengguna dengan autentikasi database IAM untuk Cloud SQL untuk MySQL dan Mengelola pengguna dengan autentikasi database IAM untuk Cloud SQL untuk PostgreSQL.
HTTP menggunakan Python
Contoh kode berikut menunjukkan cara menentukan detail sumber data Cloud SQL untuk MySQL dan Cloud SQL untuk PostgreSQL dalam isi permintaan HTTP Anda ke endpoint 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\"
# }
}
}
Ganti nilai sampel sebagai berikut:
- your_table_id_1: ID tabel pertama di instance Cloud SQL untuk MySQL dan Cloud SQL untuk PostgreSQL.
- your_table_id_2: ID tabel kedua di instance Cloud SQL untuk MySQL dan Cloud SQL untuk PostgreSQL.
- your_context_set_id: ID lengkap set konteks yang akan diambil. Untuk mengetahui informasi selengkapnya tentang cara menemukan ID set konteks, lihat Menemukan ID konteks agen di Cloud SQL untuk MySQL dan Menemukan ID konteks agen di Cloud SQL untuk PostgreSQL.
Python SDK
Contoh kode Python berikut menunjukkan cara menentukan detail sumber data Cloud SQL untuk MySQL dan Cloud SQL untuk PostgreSQL menggunakan Python SDK.
# 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
Ganti nilai sampel sebagai berikut:
- your_table_id_1: ID tabel pertama di instance Cloud SQL dan Cloud SQL untuk PostgreSQL Anda.
- your_table_id_2: ID tabel kedua di instance Cloud SQL dan Cloud SQL untuk PostgreSQL Anda.
- your_context_set_id: ID lengkap set konteks yang akan diambil. Untuk mengetahui informasi selengkapnya tentang cara menemukan ID set konteks, lihat Menemukan ID konteks agen di Cloud SQL dan Menemukan ID konteks agen di Cloud SQL untuk PostgreSQL.