בדף הזה מוסבר איך לבצע אימות ב-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 באמצעות שיטות HTTP ו-Python כדי לקבל את אסימוני ההרשאה הנדרשים. בדוגמאות הבאות נעשה שימוש בלוגיקה של נקודות קצה אזוריות שמבוססת על מיקום המשאב. מידע נוסף על נקודות קצה אזוריות זמין במאמר מיקום אחסון הנתונים.
HTTP curl
הפקודה הבאה לדוגמה curl מכוונת לשיטה של נקודת קצה ל-API כדי להדגים איך לשלוח בקשה מאומתת באמצעות טוקן הזהות שנוצר על ידי gcloud CLI:
curl -H "Authorization: Bearer $(gcloud auth print-identity-token)" \
https://ENDPOINT_URL/v1/projects/PROJECT_ID/locations/LOCATION/METHOD
מחליפים את הערכים לדוגמה באופן הבא:
- ENDPOINT_URL: כתובת ה-URL של נקודת הקצה של השירות שמתאימה למיקום שלכם, לדוגמה,
geminidataanalytics.googleapis.comלמיקום ברירת המחדלglobalאוgeminidataanalytics.us.rep.googleapis.comלמיקוםusמרובה אזורים. - PROJECT_ID: המזהה של Google Cloud הפרויקט שבו הפעלתם את ממשקי ה-API הנדרשים.
LOCATION: המיקום שבו המשאבים מאוחסנים (לדוגמה,
globalאוus-east4).METHOD: שיטת נקודת הקצה או נתיב המשאב לטירגוט (לדוגמה,
dataAgentsכדי ליצור סוכן, אוdataAgents/AGENT_IDכדי לקבל סוכן ספציפי).
HTTP באמצעות Python
בדוגמה הבאה של קוד Python אפשר לראות איך מקבלים טוקן גישה ושולחים בקשת HTTP מאומתת לשיטה של נקודת קצה ל-API. הקוד יוצר באופן דינמי את כתובת ה-URL של נקודת הקצה על סמך סוג המיקום שצוין.
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 הנדרשים.
LOCATION: המיקום שבו המשאבים מאוחסנים (לדוגמה,
globalאוus-east4).METHOD: שיטת נקודת הקצה או נתיב המשאב של היעד. לדוגמה:
- כדי ליצור סוכן נתונים, משתמשים בשיטה
POSTומצייניםdataAgents. - כדי להציג רשימה של סוכני נתונים קיימים, משתמשים בשיטה
GETומציינים אתdataAgents.
- כדי ליצור סוכן נתונים, משתמשים בשיטה
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.
התחברות באמצעות מפתחות API של Looker
בקטע הזה מוסבר איך ליצור את מפתחות ה-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": "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 שנוצר
- CLIENT_SECRET: סוד הלקוח של מפתח Looker API שנוצר
- INSTANCE_URI: כתובת ה-URL המלאה של מופע Looker (לדוגמה,
https://mycompany.looker.com) - MODEL: השם של מודל LookML שרוצים להשתמש בו
- EXPLORE: השם של התכונה 'חיפוש והשוואה' במודל שצוין שרוצים להשתמש בו
Python SDK
אחרי שיוצרים את מפתחות ה-API (מזהה לקוח וסוד), אפשר להגדיר את Conversational Analytics API כדי להתחבר ל-Looker באמצעות Python. בדוגמת הקוד הבאה ב-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 שנוצר
- CLIENT_SECRET: סוד הלקוח של מפתח Looker API שנוצר
- INSTANCE_URI: כתובת ה-URL המלאה של מופע Looker (לדוגמה,
https://mycompany.looker.com) - MODEL: השם של מודל 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": "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: כתובת ה-URL המלאה של מופע Looker (לדוגמה,
https://mycompany.looker.com) - MODEL: השם של מודל LookML שרוצים להשתמש בו
- 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: הערך
access_tokenשבו משתמשים כדי לאשר בקשות ל-Looker - INSTANCE_URI: כתובת ה-URL המלאה של מופע Looker (לדוגמה,
https://mycompany.looker.com) - MODEL: השם של מודל Looker שרוצים להשתמש בו
- EXPLORE: השם של התכונה 'ניתוח נתונים' ב-Looker שרוצים להשתמש בה
התחברות ל-BigQuery באמצעות Conversational Analytics API
בקטע הזה מוסבר איך להגדיר את Conversational Analytics API כדי להתחבר ל-BigQuery באמצעות בקשות HTTP ישירות או SDK. ה-API של ניתוח נתוני שיחות תומך בחיבורים לטבלאות BigQuery ול-BigQuery Graph (בתצוגה מקדימה).
ב-Conversational Analytics API, אין מגבלות קשיחות על מספר טבלאות BigQuery שאפשר לקשר. עם זאת, חיבור למספר גדול של טבלאות עלול להפחית את רמת הדיוק או לגרום לחריגה ממגבלת הטוקנים של Gemini. יכול להיות שגם שאילתות שדורשות צירופים מורכבים בין כמה טבלאות יניבו תשובות פחות מדויקות.
קישור לטבלאות
כדי להתחבר לטבלה אחת או יותר ב-BigQuery, צריך לספק את מזהה הפרויקט, מזהה מערך הנתונים ומזהה הטבלה של כל טבלה.
בדוגמאות הבאות מוצגות דרכים להתחבר לטבלה אחת או יותר ב-BigQuery באמצעות בקשות HTTP או Python SDK.
HTTP באמצעות Python
בדוגמת הקוד הבאה מוגדר חיבור לכמה טבלאות 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: המזהה של פרויקט Google Cloud שמכיל את מערך הנתונים והטבלה ב-BigQuery שאליהם רוצים להתחבר. כדי להתחבר למערך נתונים ציבורי, מציינים את
bigquery-public-data. - DATASET_ID, DATASET_ID_2, DATASET_ID_3: המזהה של מערך הנתונים ב-BigQuery (או
catalog.namespaceלטבלאות של קטלוג זמן הריצה של Lakehouse). - TABLE_ID, TABLE_ID_2, TABLE_ID_3: מזהה הטבלה ב-BigQuery (או שם הטבלה בטבלאות של קטלוג זמן הריצה של Lakehouse).
Python SDK
אתם יכולים להשתמש ב-SDK auth מ-Colaboratory כדי לבצע אימות באמצעות פרטי הכניסה שלכם לחשבון Google, ולאשר ללקוח Colab לגשת ל-BigQuery באמצעות פרטי הכניסה שלכם.
בדוגמת קוד Python הבאה מוגדר חיבור לכמה טבלאות ב-BigQuery, ומוסבר איך לבצע אימות באמצעות פרטי הכניסה לחשבון Google ב-Colaboratory כדי לאשר בקשות.
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: המזהה של פרויקט Google Cloud שמכיל את מערך הנתונים והטבלה ב-BigQuery שאליהם רוצים להתחבר. כדי להתחבר למערך נתונים ציבורי, מציינים את
bigquery-public-data. - DATASET_ID, DATASET_ID_2, DATASET_ID_3: המזהה של מערך הנתונים ב-BigQuery (או
catalog.namespaceלטבלאות של קטלוג זמן הריצה של Lakehouse). לדוגמה,san_francisco. - TABLE_ID, TABLE_ID_2, TABLE_ID_3: מזהה הטבלה ב-BigQuery (או שם הטבלה בטבלאות של קטלוג זמן הריצה של Lakehouse). לדוגמה,
street_trees.
חיבור לגרף
בדוגמאות הבאות מוצגות דרכים להתחבר לגרף BigQuery באמצעות בקשות HTTP או Python SDK. אפשר להתחבר רק לתרשים אחד לכל נציג או שיחה.
HTTP באמצעות Python
קוד לדוגמה שמגדיר חיבור לגרף BigQuery:
bigquery_data_sources = {
"bq": {
"propertyGraphReferences": [
{
"projectId": "GRAPH_PROJECT_ID",
"datasetId": "GRAPH_DATASET_ID",
"propertyGraphId": "GRAPH_ID"
}
]
}
}
מחליפים את הערכים לדוגמה באופן הבא:
- GRAPH_PROJECT_ID: המזהה של הפרויקט שמכיל את הגרף ב-BigQuery. Google Cloud
- GRAPH_DATASET_ID: המזהה של מערך הנתונים ב-BigQuery שמכיל את הגרף.
- GRAPH_ID: המזהה של הגרף ב-BigQuery.
Python SDK
אפשר להשתמש ב-auth SDK מ-Colaboratory כדי לבצע אימות ב-BigQuery באמצעות פרטי הכניסה של המשתמש שאומת ב-Colaboratory.
קוד ה-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
- GRAPH_DATASET_ID: המזהה של מערך הנתונים ב-BigQuery שמכיל את הגרף.
- GRAPH_ID: המזהה של הגרף ב-BigQuery.
חיבור ל-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, ואז לספק את מזהה מקור הנתונים.
HTTP באמצעות Python
אחרי שמפעילים את Data Studio API, אפשר להתחבר ל-Data Studio באמצעות בקשות HTTP curl עם Python. קוד לדוגמה הבא מראה איך לציין את פרטי מקור הנתונים של Data Studio בגוף של בקשת ה-HTTP.
אפשר להתחבר ל-Data Studio באמצעות שליחת בקשות HTTP ישירות. בדוגמה הבאה מוצגת קריאת HTTP בבלוק קוד.
looker_studio_data_source = {
"studio":{
"studio_references":
[
{
"datasource_id": "DATASOURCE_ID"
}
]
}
}
מחליפים את your_studio_datasource_id במזהה בפועל של מקור הנתונים ב-Data Studio שבו רוצים להשתמש.
Python SDK
אחרי שמפעילים את Data Studio API, אפשר להתחבר ל-Data Studio באמצעות SDK. בדוגמת הקוד הבאה של Python אפשר לראות איך מציינים את פרטי מקור הנתונים של 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]
מחליפים את 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 ובמופע Cloud SQL ל-PostgreSQL.
- your_table_id_2: המזהה של הטבלה השנייה במופע Cloud SQL ובמופע Cloud SQL ל-PostgreSQL.
- your_context_set_id: המזהה המלא של קבוצת ההקשר שרוצים לאחזר. מידע נוסף על איתור מזהה קבוצת ההקשר זמין במאמרים איתור מזהה ההקשר של הסוכן ב-Cloud SQL ואיתור מזהה ההקשר של הסוכן ב-Cloud SQL ל-PostgreSQL.