מפתחים יכולים להשתמש ב-Conversational Analytics API, שאפשר לגשת אליו דרך geminidataanalytics.googleapis.com, כדי ליצור ממשק צ'אט מבוסס-בינה מלאכותית (AI) או סוכן נתונים, שמשיב על שאלות לגבי נתונים מובנים ב-BigQuery, ב-Looker וב-Data Studio באמצעות שפה טבעית.
בדף הזה מוסבר איך לבצע אימות ל-Conversational Analytics API. בנוסף, מוסבר איך להגדיר חיבורים לנתונים ב-Looker, ב-BigQuery, ב-Data Studio וב-Cloud Databases (AlloyDB, GoogleSQL for Spanner, Cloud SQL ל-MySQL ו-Cloud SQL ל-PostgreSQL) באמצעות בקשות HTTP ישירות או ה-SDK. ב-Conversational Analytics API נעשה שימוש בשיטות אימות סטנדרטיות שלGoogle Cloud .
לפני שמתחילים
לפני שמאמתים את Conversational Analytics API ומגדירים קישורים לנתונים, צריך להשלים את הדרישות המוקדמות ולהפעיל את ממשקי ה-API הנדרשים עבור פרויקט Google Cloud , כמו שמתואר במאמר הפעלת Conversational Analytics API.
אם אתם מתכננים להשתמש במפתחות הצפנה בניהול הלקוח (CMEK) כדי להגן על המשאבים של Conversational Analytics API כשאתם משתמשים במקורות נתונים של Looker, אתם צריכים להעניק לחשבון השירות של ה-API הרשאה להשתמש במפתח של Cloud Key Management Service. פרטים נוספים זמינים במאמר לפני שמתחילים בתיעוד של CMEK.
אימות ל-Conversational Analytics API
בקטע הזה מוסבר איך לבצע אימות ל-Conversational Analytics API (באמצעות geminidataanalytics.googleapis.com) באמצעות שיטות HTTP ו-Python כדי לקבל את אסימוני ההרשאה הנדרשים.
HTTP curl
פקודת curl הדוגמה הבאה שולחת בקשה ל-Conversational Analytics API. הפקודה gcloud auth print-identity-token מספקת אסימון גישה שמשמש לאימות. בדוגמה לקוד, מחליפים את
curl -H "Authorization: Bearer $(gcloud auth print-identity-token)" \
https://geminidataanalytics.googleapis.com/
HTTP באמצעות Python
בדוגמה הבאה של קוד Python אפשר לראות איך מקבלים אסימון גישה לאימות HTTP באמצעות Google Cloud CLI ו-Python.
billing_project = 'YOUR_BILLING_PROJECT'
access_token = !gcloud auth application-default print-access-token
url = f"https://geminidataanalytics.googleapis.com/v1beta/projects/{billing_project}:method"
headers = {"Authorization": f'Bearer {access_token[0]}'}
מחליפים את הערכים לדוגמה באופן הבא:
- YOUR_BILLING_PROJECT: המזהה של פרויקט החיוב שבו מופעלים ממשקי ה-API הנדרשים.
- method: נתיב המשאב של נקודת הקצה של היעד. לדוגמה:
- כדי ליצור סוכן נתונים, משתמשים ב-method
POSTובנתיב המשאב/v1beta/projects/{billing_project}/locations/global/dataAgents. - כדי להציג רשימה של סוכני נתונים קיימים, משתמשים בשיטה
GETובנתיב המשאב/v1beta/projects/{billing_project}/locations/global/dataAgents.
- כדי ליצור סוכן נתונים, משתמשים ב-method
Python SDK
בדוגמת הקוד הבאה ב-Python אפשר לראות איך מאמתים את חשבון Google כדי לקבל גישה ל-Conversational Analytics API ב-Colaboratory:
from google.colab import auth
auth.authenticate_user()
חיבור ל-Looker באמצעות Conversational Analytics API
כדי להתחבר ל-Looker באמצעות Conversational Analytics API, צריך לספק את הפרטים הבאים:
- כתובת ה-URL של המופע ב-Looker
- מודל LookML ספציפי וLooker Explore שרוצים להשתמש בהם כמקור נתונים
בנוסף, מופע Looker שלכם צריך לעמוד בדרישות ספציפיות:
בנוסף, למשתמש המאומת או לחשבון השירות צריכות להיות ההרשאות הנדרשות ב-Looker.
בחירת שיטת האימות המתאימה
אחרי כן, תוכלו לבחור אם לבצע אימות באמצעות מפתחות Looker API (מזהה לקוח וסוד לקוח) או באמצעות אסימון גישה. לקוחות שמשתמשים ב-Looker (Google Cloud core) עם חיבורים פרטיים בלבד צריכים לבצע אימות באמצעות אסימון גישה.
הטבלה הבאה תעזור לכם לבחור את שיטת האימות המתאימה.
| סוג המשתמש | שיטת אימות | ב-Looker (המקורי) | ב-Looker (Google Cloud Core) | ל-Looker (Google Cloud Core) שמשתמש רק בחיבורים פרטיים | תיאור |
| הטמעת משתמשים | טוקן גישה | login_user |
login_user |
login_user |
מכבד את ההרשאות ברמת השורה והעמודה ב-LookML (לדוגמה, access_filters, access_grants, sql_always_where) של access_token של משתמש היעד. |
| משתמשים רגילים | טוקן גישה |
או |
לקוח OAuth | לקוח OAuth | מכבד את ההרשאות ברמת השורה והעמודה ב-LookML (לדוגמה, access_filters, access_grants, sql_always_where) של access_token של משתמש היעד. |
| חשבון שירות עם גישה ל-Looker API בלבד | מפתח API | Client ID וסוד | Client ID וסוד | לא רלוונטי | לכל המשתמשים יש את אותה רמת גישה ל-Looker. |
מפתחות API משתמשים בהרשאות וברמות הגישה של המשתמש. מפתחות API יכולים להיות שימושיים אם אתם מפתחים אפליקציה שבה לכולם יש את אותה רמת גישה.
אסימון גישה מאפשר לכם להשתמש בהרשאות ברמת השורה והעמוד ב-LookML (לדוגמה,access_filters, access_grants, sql_always_where) של access_token של משתמש היעד. טוקן גישה שימושי לאפליקציה עם כמה דיירים.
ההרשאות הנדרשות ב-Looker
למשתמש או לחשבון השירות שהאישורים שלהם משמשים לאימות, צריך להיות מוקצה תפקיד ב-Looker שכולל את ההרשאות הבאות עבור המודלים שרוצים לשלוח להם שאילתות:
אפשר להגדיר את ההרשאות האלה בקטע Admin > Roles במופע Looker.
אימות באמצעות מפתחות Looker API
בקטע הזה מוסבר איך ליצור את מפתחות ה-API ולהגדיר את Conversational Analytics API כדי להתחבר ל-Looker באמצעות בקשות HTTP ישירות או באמצעות ה-SDK.
כדי ליצור חיבור למכונה של Looker, צריך מפתחות Looker API תקפים, שנוצרים על ידי Looker ומורכבים ממזהה לקוח ומסוד לקוח. Looker משתמש במפתחות האלה כדי לאשר בקשות ל-Looker API.
מידע נוסף על יצירת מפתחות Looker API חדשים זמין במאמר הגדרות אדמין – משתמשים. מידע נוסף על שיטות אימות ועל ניהול מפתחות Looker API זמין במאמר אימות Looker API.
HTTP באמצעות Python
אחרי שיוצרים את מפתחות ה-API (מזהה לקוח וסוד), אפשר להגדיר את Conversational Analytics API כדי להתחבר ל-Looker באמצעות שליחת בקשות HTTP ישירות. בדוגמת הקוד הבאה אפשר לראות איך מציינים את הפרטים של מקור הנתונים ב-Looker ואת מפתחות ה-API בגוף של בקשת ה-HTTP.
looker_credentials = {
"oauth": {
"secret": {
"client_id": "your_looker_client_id",
"client_secret": "your_looker_client_secret",
}
}
}
looker_data_source = {
"looker": {
"explore_references": {
"looker_instance_uri": "https://your_company.looker.com",
"lookml_model": "your_model",
"explore": "your_explore",
}
}
}
מחליפים את הערכים לדוגמה באופן הבא:
- your_looker_client_id: מזהה הלקוח של מפתח Looker API שנוצר
- your_looker_client_secret: סוד הלקוח של מפתח Looker API שנוצר
- https://your_company.looker.com: כתובת ה-URL המלאה של מופע Looker
- your_model: השם של מודל LookML שרוצים להשתמש בו
- your_explore: השם של התכונה 'חיפוש והשוואה' במודל שצוין שרוצים להשתמש בו
Python SDK
אחרי שיוצרים את מפתחות ה-API (מזהה לקוח וסוד), אפשר להגדיר את Conversational Analytics API כדי להתחבר ל-Looker באמצעות Python. בדוגמת הקוד הבאה ב-Python אפשר לראות איך מציינים את פרטי מקור הנתונים של Looker ואת מפתחות ה-API של Conversational Analytics API.
looker_client_id = "YOUR-LOOKER-CLIENT-ID" # @param {type:"string"}
looker_client_secret = "YOUR-LOOKER-CLIENT-SECRET" # @param {type:"string"}
looker_instance_uri = "YOUR-LOOKER-INSTANCE-URI" # @param {type:"string"}
lookml_model = "YOUR-LOOKER-MODEL" # @param {type:"string"}
explore = "YOUR-LOOKER-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]
מחליפים את הערכים לדוגמה באופן הבא:
- YOUR-LOOKER-CLIENT-ID: מזהה הלקוח של מפתח Looker API שנוצר
- YOUR-LOOKER-CLIENT-SECRET: סוד הלקוח של מפתח Looker API שנוצר
- YOUR-LOOKER-INSTANCE-URI: כתובת ה-URL המלאה של מופע Looker
- YOUR-LOOKER-MODEL: השם של מודל Looker שרוצים להשתמש בו
- YOUR-LOOKER-EXPLORE: השם של התכונה 'ניתוח נתונים' ב-Looker שרוצים להשתמש בה
אימות באמצעות טוקן גישה
בקטע הזה מוסבר איך להגדיר את Conversational Analytics API כדי להתחבר ל-Looker באמצעות אסימון גישה.
כדי ליצור חיבור למופע Looker, צריך ערך OAuth2 access_token תקין, שנוצר על ידי בקשה מוצלחת לנקודת הקצה של Looker API login.
מידע נוסף על יצירת אסימון גישה זמין במאמרים אימות של Looker API ואיך מעבירים את פרטי הכניסה של הלקוח כדי לקבל אסימון הרשאה.
פרוטוקול HTTP באמצעות Python
בדוגמת הקוד הבאה מוצג איך לציין את הפרטים של מקור הנתונים ב-Looker ואת אסימון הגישה בגוף של בקשת ה-HTTP.
כדי לשפר את האבטחה, מומלץ לאחסן את טוקן הגישה של Looker (access_token) כמשתנה סביבתי.
looker_credentials = {
"oauth": {
"token": {
"access_token": "YOUR-TOKEN",
}
}
}
looker_data_source = {
"looker": {
"explore_references": {
"looker_instance_uri": "https://your_company.looker.com",
"lookml_model": "your_model",
"explore": "your_explore",
}
}
}
מחליפים את הערכים לדוגמה באופן הבא:
- YOUR-TOKEN: הערך
access_tokenשיוצרים כדי לבצע אימות ב-Looker. - https://your_company.looker.com: כתובת ה-URL המלאה של מופע Looker
- your_model: השם של מודל LookML שרוצים להשתמש בו
- your_explore: השם של התכונה 'חיפוש והשוואה' במודל שצוין שרוצים להשתמש בו
Python SDK
בדוגמת הקוד הבאה ב-Python אפשר לראות איך מגדירים את הפרטים של מקור הנתונים ב-Looker ואת אסימון הגישה כדי לבצע אימות באמצעות Python SDK.
כדי לשפר את האבטחה, מומלץ לאחסן את טוקן הגישה של Looker (access_token) כמשתנה סביבתי.
looker_access_token = "YOUR-TOKEN"
looker_instance_uri = "YOUR-LOOKER-INSTANCE-URI"
lookml_model = "YOUR-LOOKER-MODEL"
explore = "YOUR-LOOKER-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]
מחליפים את הערכים לדוגמה באופן הבא:
- YOUR-TOKEN: הערך
access_tokenשבו אתם משתמשים כדי לבצע אימות ל-Looker - YOUR-LOOKER-INSTANCE-URI: כתובת ה-URL המלאה של מופע Looker
- YOUR-LOOKER-MODEL: השם של מודל Looker שרוצים להשתמש בו
- YOUR-LOOKER-EXPLORE: השם של התכונה 'ניתוח נתונים' ב-Looker שרוצים להשתמש בה
HTTP באמצעות JavaScript
בדוגמת הקוד הבאה מוצג איך לציין את הפרטים של מקור הנתונים ב-Looker ואת אסימון הגישה בגוף של בקשת ה-HTTP.
כדי לשפר את האבטחה, מומלץ לאחסן את טוקן הגישה של Looker (access_token) כמשתנה סביבתי.
const requestBody = {
project: GCP_PROJECT,
messages: [
{
user_message: {
text: inputWithPreviousMessages,
},
},
],
context: {
system_instruction: agentConfig.system_instructions,
datasource_references: {
looker: {
explore_references: [
{
looker_instance_uri: YOUR-LOOKER-INSTANCE-URI,
lookml_model: YOUR-LOOKER-MODEL,
explore: YOUR-LOOKER-EXPLORE,
},
],
credentials: {
oauth: {
token: {
access_token: YOUR-TOKEN,
},
},
},
},
},
},Q
}
מחליפים את הערכים לדוגמה באופן הבא:
- YOUR-LOOKER-INSTANCE-URI: כתובת ה-URL המלאה של מופע Looker
- YOUR-LOOKER-MODEL: השם של מודל LookML שרוצים להשתמש בו
- YOUR-LOOKER-EXPLORE: השם של התכונה 'חיפוש והשוואה' במודל שצוין שרוצים להשתמש בו
- YOUR-TOKEN: הערך
access_tokenשיוצרים כדי לבצע אימות ב-Looker.
התחברות ל-BigQuery באמצעות Conversational Analytics API
בקטע הזה מוסבר איך להגדיר את Conversational Analytics API כדי להתחבר ל-BigQuery באמצעות בקשות HTTP ישירות או SDK.
כדי להתחבר לטבלה אחת או יותר ב-BigQuery באמצעות Conversational Analytics API, צריך לבצע אימות לפרויקט הרלוונטי ב-BigQuery עבור כל טבלה. לכל טבלה, צריך לספק את הפרטים הבאים:
- מזהה הפרויקט ב-BigQuery
- מזהה מערך הנתונים ב-BigQuery
- מזהה הטבלה ב-BigQuery
ב-Conversational Analytics API, אין מגבלות קשיחות על מספר טבלאות BigQuery שאפשר לקשר. עם זאת, חיבור למספר גדול של טבלאות עלול להפחית את רמת הדיוק או לגרום לחריגה ממגבלת הטוקנים של Gemini. יכול להיות שגם שאילתות שדורשות צירופים מורכבים בין כמה טבלאות יניבו תשובות פחות מדויקות.
HTTP באמצעות Python
קוד לדוגמה הבא מגדיר חיבור לכמה טבלאות ב-BigQuery.
bigquery_data_sources = {
"bq": {
"tableReferences": [
{
"projectId": "my_project_id",
"datasetId": "my_dataset_id",
"tableId": "my_table_id"
},
{
"projectId": "my_project_id_2",
"datasetId": "my_dataset_id_2",
"tableId": "my_table_id_2"
},
{
"projectId": "my_project_id_3",
"datasetId": "my_dataset_id_3",
"tableId": "my_table_id_3"
},
]
}
}
מחליפים את הערכים לדוגמה באופן הבא:
- my_project_id: המזהה של הפרויקט Google Cloud שמכיל את מערך הנתונים והטבלה ב-BigQuery שאליהם רוצים להתחבר. כדי להתחבר למערך נתונים ציבורי, מציינים את
bigquery-public-data. - my_dataset_id: המזהה של מערך הנתונים ב-BigQuery (או catalog.namespace לטבלאות של קטלוג Lakehouse Runtime).
- my_table_id: המזהה של הטבלה ב-BigQuery (או שם הטבלה בטבלאות של קטלוג Lakehouse Runtime).
Python SDK
אפשר להשתמש ב-auth SDK מ-Colaboratory כדי לבצע אימות ב-BigQuery באמצעות פרטי הכניסה של המשתמש שאומת ב-Colaboratory.
קוד Python לדוגמה שמופיע בהמשך מגדיר חיבור לכמה טבלאות BigQuery ומראה איך לאמת את חשבון Google שלכם ב-BigQuery בתוך Colaboratory.
from google.colab import auth
auth.authenticate_user()
# BigQuery data source
bigquery_table_reference = geminidataanalytics.BigQueryTableReference()
bigquery_table_reference.project_id = "my_project_id"
bigquery_table_reference.dataset_id = "my_dataset_id"
bigquery_table_reference.table_id = "my_table_id"
bigquery_table_reference_2 = geminidataanalytics.BigQueryTableReference()
bigquery_table_reference_2.project_id = "my_project_id_2"
bigquery_table_reference_2.dataset_id = "my_dataset_id_2"
bigquery_table_reference_2.table_id = "my_table_id_2"
bigquery_table_reference_3 = geminidataanalytics.BigQueryTableReference()
bigquery_table_reference_3.project_id = "my_project_id_3"
bigquery_table_reference_3.dataset_id = "my_dataset_id_3"
bigquery_table_reference_3.table_id = "my_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]
מחליפים את הערכים לדוגמה באופן הבא:
- my_project_id: המזהה של הפרויקט Google Cloud שמכיל את מערך הנתונים והטבלה ב-BigQuery שאליהם רוצים להתחבר. כדי להתחבר למערך נתונים ציבורי, מציינים את
bigquery-public-data. - my_dataset_id: המזהה של מערך הנתונים ב-BigQuery (או catalog.namespace לטבלאות של קטלוג Lakehouse Runtime).
- my_table_id: המזהה של הטבלה ב-BigQuery (או שם הטבלה בטבלאות של קטלוג Lakehouse Runtime).
חיבור ל-Data Studio באמצעות Conversational Analytics API
כדי להתחבר ל-Data Studio באמצעות Conversational Analytics API, צריך קודם להפעיל את Data Studio API. בקטע הזה מוסבר איך להגדיר את Conversational Analytics API כדי להתחבר ל-Data Studio באמצעות בקשות HTTP ישירות או SDK.
כדי להשתמש ב-Conversational Analytics API עם Data Studio Pro, המינוי ל-Pro צריך להיות מחוץ לגבולות גזרה של VPC-SC.
הפעלת Data Studio API
כדי להפעיל את Data Studio API, פועלים לפי ההוראות במאמר בנושא הפעלת ה-API.
אימות ב-Data Studio
כדי להתחבר ל-Data Studio באמצעות Conversational Analytics API, צריך לבצע אימות ב-Data Studio ולספק את מזהה מקור הנתונים של Data Studio.
פרוטוקול HTTP באמצעות Python
אחרי שמפעילים את Data Studio API, אפשר לבצע אימות ל-Data Studio באמצעות בקשות HTTP curl עם Python. קוד לדוגמה הבא מראה איך לציין את פרטי מקור הנתונים של Looker בגוף של בקשת HTTP.
אפשר לבצע אימות ב-Data Studio על ידי שליחת בקשות HTTP ישירות. בדוגמה הבאה מוצגת קריאת HTTP בבלוק קוד.
looker_studio_data_source = {
"studio":{
"studio_references":
[
{
"datasource_id": "your_studio_datasource_id"
}
]
}
}
מחליפים את your_studio_datasource_id במזהה בפועל של מקור הנתונים ב-Data Studio שבו רוצים להשתמש.
Python SDK
אחרי שמפעילים את Data Studio API, אפשר לבצע אימות ל-Data Studio באמצעות SDK. בדוגמת הקוד הבאה ב-Python אפשר לראות איך מציינים את פרטי מקור הנתונים של Looker ומבצעים אימות ב-Data Studio.
datasource_id = "STUDIO-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 במזהה בפועל של מקור הנתונים ב-Data Studio שבו רוצים להשתמש.
חיבור למסדי נתונים באמצעות Conversational Analytics API
כדי להתחבר למסדי נתונים באמצעות Conversational Analytics API, צריכות להיות לכם הרשאות IAM הנדרשות למופע מסד הנתונים.
קישור אל AlloyDB ל-PostgreSQL
למשתמש או לחשבון השירות צריך להיות התפקיד alloydb.databaseUser. מידע נוסף זמין במאמר AlloyDB, אימות מסד נתונים באמצעות IAM.
HTTP באמצעות Python
בדוגמת הקוד הבאה אפשר לראות איך מציינים את פרטי המקור לנתוני AlloyDB בגוף של בקשת HTTP לנקודת הקצה 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"
# }
}
}
מחליפים את הערכים לדוגמה באופן הבא:
- your_table_id: רשימה מופרדת בפסיקים של מזהי הטבלאות. אם לא מגדירים את המדיניות, כל הטבלאות במסד הנתונים נלקחות בחשבון.
- your_context_set_id: אופציונלי: המזהה המלא של קבוצת ההקשר שרוצים לאחזר. מידע נוסף על איתור מזהה קבוצת ההקשר זמין במאמר בנושא איתור מזהה הקשר של הסוכן ב-AlloyDB.
Python SDK
בדוגמת הקוד הבאה ב-Python אפשר לראות איך מגדירים את פרטי מקור הנתונים של AlloyDB באמצעות 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
מחליפים את הערכים לדוגמה באופן הבא:
- your_table_id_1: המזהה של הטבלה הראשונה במופע AlloyDB.
- your_table_id_2: המזהה של הטבלה השנייה במופע AlloyDB.
- your_context_set_id: המזהה המלא של קבוצת ההקשר שרוצים לאחזר. מידע נוסף על איתור מזהה קבוצת ההקשר זמין במאמר בנושא איתור מזהה הקשר של הסוכן ב-AlloyDB.
חיבור ל-GoogleSQL for Spanner
למשתמש או לחשבון השירות צריך להיות התפקיד spanner.databaseReader. מידע נוסף זמין במאמר הקצאת תפקידי IAM.
פרוטוקול HTTP באמצעות Python
קוד לדוגמה הבא מדגים איך מציינים את פרטי מקור הנתונים של GoogleSQL ל-Spanner בגוף של בקשת ה-HTTP לנקודת הקצה 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"
# }
}
}
מחליפים את הערכים לדוגמה באופן הבא:
- your_table_id_1: המזהה של הטבלה הראשונה במופע GoogleSQL for Spanner.
- your_table_id_2: המזהה של הטבלה השנייה ב-GoogleSQL למופע Spanner.
- your_context_set_id: המזהה המלא של קבוצת ההקשר שרוצים לאחזר. למידע נוסף על איתור מזהה קבוצת ההקשר, אפשר לעיין במאמר איתור מזהה ההקשר של הסוכן ב-GoogleSQL ל-Spanner.
Python SDK
בדוגמת הקוד הבאה ב-Python אפשר לראות איך מגדירים את פרטי מקור הנתונים של GoogleSQL ל-Spanner באמצעות 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
מחליפים את הערכים לדוגמה באופן הבא:
- your_table_id_1: המזהה של הטבלה הראשונה במופע GoogleSQL for Spanner.
- your_table_id_2: המזהה של הטבלה השנייה ב-GoogleSQL למופע Spanner.
- your_context_set_id: המזהה המלא של קבוצת ההקשר שרוצים לאחזר. למידע נוסף על איתור מזהה קבוצת ההקשר, אפשר לעיין במאמר איתור מזהה ההקשר של הסוכן ב-GoogleSQL ל-Spanner.
התחברות ל-Cloud SQL ל-MySQL ול-Cloud SQL ל-PostgreSQL
בקטעים הבאים מוסבר איך להתחבר ל-Cloud SQL ל-MySQL ול-Cloud SQL ל-PostgreSQL. למשתמש או לחשבון השירות צריכים להיות התפקידים cloudsql.studioUser ו-cloudsql.instanceUser. מידע נוסף זמין במאמרים בנושא ניהול משתמשים באמצעות אימות פרטי התחברות למסד נתונים ב-IAM ב-Cloud SQL ל-MySQL וניהול משתמשים באמצעות אימות פרטי התחברות למסד נתונים ב-IAM ב-Cloud SQL ל-PostgreSQL.
פרוטוקול HTTP באמצעות Python
בדוגמת הקוד הבאה אפשר לראות איך מציינים את פרטי מקור הנתונים של Cloud SQL ל-MySQL ושל Cloud SQL ל-PostgreSQL בגוף של בקשת ה-HTTP לנקודת הקצה 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\"
# }
}
}
מחליפים את הערכים לדוגמה באופן הבא:
- your_table_id_1: המזהה של הטבלה הראשונה במופע Cloud SQL ל-MySQL ובמופע Cloud SQL ל-PostgreSQL.
- your_table_id_2: המזהה של הטבלה השנייה במופע Cloud SQL ל-MySQL ובמופע Cloud SQL ל-PostgreSQL.
- your_context_set_id: המזהה המלא של קבוצת ההקשר שרוצים לאחזר. מידע נוסף על איתור מזהה ההקשר של הסוכן זמין במאמרים איתור מזהה ההקשר של הסוכן ב-Cloud SQL ל-MySQL ואיתור מזהה ההקשר של הסוכן ב-Cloud SQL ל-PostgreSQL.
Python SDK
בדוגמת הקוד הבאה ב-Python אפשר לראות איך מגדירים את פרטי מקור הנתונים של Cloud SQL ל-MySQL ושל Cloud SQL ל-PostgreSQL באמצעות 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
מחליפים את הערכים לדוגמה באופן הבא:
- your_table_id_1: המזהה של הטבלה הראשונה במופע Cloud SQL ל-MySQL ובמופע Cloud SQL ל-PostgreSQL.
- your_table_id_2: המזהה של הטבלה השנייה במופע Cloud SQL ל-MySQL ובמופע Cloud SQL ל-PostgreSQL.
- your_context_set_id: המזהה המלא של קבוצת ההקשר שרוצים לאחזר. מידע נוסף על איתור מזהה ההקשר של הסוכן זמין במאמרים איתור מזהה ההקשר של הסוכן ב-Cloud SQL ל-MySQL ואיתור מזהה ההקשר של הסוכן ב-Cloud SQL ל-PostgreSQL.