ייבוא מ-Bigtable

כדי להטמיע נתונים מ-Bigtable, צריך לבצע את השלבים הבאים כדי ליצור מאגר נתונים ולהטמיע נתונים באמצעות ה-API.

הגדרת גישה ל-Bigtable

כדי לתת ל-Gemini Enterprise גישה לנתוני Bigtable שנמצאים בפרויקט אחר, פועלים לפי השלבים הבאים:

  1. מחליפים את המשתנה PROJECT_NUMBER במספר הפרויקט של Gemini Enterprise, ואז מעתיקים את התוכן של בלוק הקוד הזה. זה המזהה של חשבון השירות שלך ב-Gemini Enterprise:

    service-PROJECT_NUMBER@gcp-sa-discoveryengine.iam.gserviceaccount.com`
    
  2. עוברים לדף IAM & Admin.

    IAM & Admin

  3. עוברים לפרויקט Bigtable בדף IAM & Admin ולוחצים על Grant Access.

  4. בשדה New principals (חשבונות משתמשים חדשים), מזינים את מזהה חשבון השירות של המופע ובוחרים בתפקיד Bigtable > Bigtable Reader.

  5. לוחצים על Save.

  6. חוזרים לפרויקט Gemini Enterprise.

לאחר מכן, עוברים אל ייבוא נתונים מ-Bigtable.

ייבוא נתונים מ-Bigtable

REST

כדי ליצור מאגר נתונים ולהטמיע נתונים מ-Bigtable באמצעות שורת הפקודה, פועלים לפי השלבים הבאים:

  1. יוצרים מאגר נתונים.

    curl -X POST \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json" \
    -H "X-Goog-User-Project: PROJECT_ID" \
    "https://discoveryengine.googleapis.com/v1alpha/projects/PROJECT_ID/locations/global/collections/default_collection/dataStores?dataStoreId=DATA_STORE_ID" \
    -d '{
      "displayName": "DISPLAY_NAME",
      "industryVertical": "GENERIC",
      "solutionTypes": ["SOLUTION_TYPE_SEARCH"],
    }'
    

    מחליפים את מה שכתוב בשדות הבאים:

    • PROJECT_ID: מזהה הפרויקט.
    • DATA_STORE_ID: המזהה של מאגר הנתונים. המזהה יכול להכיל רק אותיות קטנות, ספרות, קווים תחתונים ומקפים.
    • DISPLAY_NAME: השם המוצג של מאגר הנתונים. יכול להיות שההודעה תוצג במסוף. Google Cloud
  2. ייבוא נתונים מ-Bigtable.

      curl -X POST \
      -H "Authorization: Bearer $(gcloud auth print-access-token)" \
      -H "Content-Type: application/json" \
      "https://discoveryengine.googleapis.com/v1/projects/PROJECT_ID/locations/global/collections/default_collection/dataStores/DATA_STORE_ID/branches/0/documents:import" \
      -d '{
        "bigtableSource ": {
          "projectId": "BIGTABLE_PROJECT_ID",
          "instanceId": "INSTANCE_ID",
          "tableId": "TABLE_ID",
          "bigtableOptions": {
            "keyFieldName": "KEY_FIELD_NAME",
            "families": {
              "key": "KEY",
              "value": {
                "fieldName": "FIELD_NAME",
                "encoding": "ENCODING",
                "type": "TYPE",
                "columns": [
                  {
                    "qualifier": "QUALIFIER",
                    "fieldName": "FIELD_NAME",
                    "encoding": "COLUMN_ENCODING",
                    "type": "COLUMN_VALUES_TYPE"
                  }
                ]
              }
             }
             ...
          }
        },
        "reconciliationMode": "RECONCILIATION_MODE",
        "autoGenerateIds": "AUTO_GENERATE_IDS",
        "idField": "ID_FIELD",
      }'
    

    מחליפים את מה שכתוב בשדות הבאים:

    • PROJECT_ID: מזהה הפרויקט שלכם ב-Gemini Enterprise.
    • DATA_STORE_ID: המזהה של מאגר הנתונים. המזהה יכול להכיל רק אותיות קטנות, ספרות, קווים תחתונים ומקפים.
    • BIGTABLE_PROJECT_ID: מזהה הפרויקט של Bigtable.
    • INSTANCE_ID: המזהה של מופע Bigtable.
    • TABLE_ID: המזהה של טבלת Bigtable.
    • KEY_FIELD_NAME: אופציונלי, אבל מומלץ. שם השדה שבו יש להשתמש עבור ערך מפתח השורה אחרי ההטמעה ב-Gemini Enterprise.
    • KEY: חובה. ערך מחרוזת של מפתח משפחת העמודות.
    • ENCODING: אופציונלי. מצב הקידוד של הערכים כשהסוג הוא לא STRING.אפשר לשנות את ההגדרה הזו לעמודה ספציפית על ידי ציון העמודה ב-columns והגדרת קידוד בשבילה.
    • COLUMN_TYPE: אופציונלי. סוג הערכים בעמודה הזו
    • QUALIFIER: חובה. מגדיר העמודה.
    • FIELD_NAME: אופציונלי, אבל מומלץ. שם השדה שבו רוצים להשתמש בעמודה הזו אחרי ההטמעה ב-Gemini Enterprise.
    • COLUMN_ENCODING: אופציונלי. מצב הקידוד של הערכים בעמודה מסוימת, כשהסוג הוא לא STRING.
    • RECONCILIATION_MODE: אופציונלי. הערכים הם FULL ו-INCREMENTAL. ערך ברירת המחדל הוא INCREMENTAL. הגדרה של INCREMENTAL גורמת לרענון מצטבר של הנתונים מ-Bigtable אל מאגר הנתונים. הפעולה הזו מבצעת upsert, שמוסיף מסמכים חדשים ומחליף מסמכים קיימים במסמכים מעודכנים עם אותו מזהה. הגדרת FULL גורמת לשינוי בסיס מלא של המסמכים במאגר הנתונים. במילים אחרות, מסמכים חדשים ומעודכנים מתווספים למאגר הנתונים, ומסמכים שלא נמצאים ב-Bigtable מוסרים ממנו. מצב FULL שימושי אם רוצים למחוק באופן אוטומטי מסמכים שכבר לא צריכים.
    • AUTO_GENERATE_IDS: אופציונלי. ההגדרה קובעת אם מזהי המסמכים ייווצרו באופן אוטומטי. אם המדיניות מוגדרת לערך true, מזהי המסמכים נוצרים על סמך גיבוב של מטען הייעודי. חשוב לדעת שמזהי מסמכים שנוצרו יכולים להשתנות בין ייבוא לייבוא. אם אתם יוצרים מזהים באופן אוטומטי בכמה ייבואים, מומלץ מאוד להגדיר את reconciliationMode ל-FULL כדי לשמור על מזהי מסמכים עקביים.

      מציינים autoGenerateIds רק אם הערך של bigquerySource.dataSchema הוא custom. אחרת, מוחזרת שגיאת INVALID_ARGUMENT. אם לא מציינים את autoGenerateIds או מגדירים אותו ל-false, צריך לציין את idField. אחרת, ייבוא המסמכים ייכשל.

    • ID_FIELD: אופציונלי. מציינים אילו שדות הם מזהי המסמכים.

השלבים הבאים

  • כדי לצרף את מאגר הנתונים לאפליקציה, יוצרים אפליקציה ובוחרים את מאגר הנתונים לפי השלבים שמפורטים במאמר יצירת אפליקציה לחיפוש.

  • כדי לראות תצוגה מקדימה של תוצאות החיפוש אחרי שמגדירים את האפליקציה ואת מאגר הנתונים, אפשר לעיין במאמר בנושא תצוגה מקדימה של תוצאות החיפוש.