ייבוא מ-Firestore

כדי להטמיע נתונים מ-Firestore, צריך לבצע את השלבים הבאים כדי ליצור מאגר נתונים ולהטמיע נתונים באמצעות מסוף Google Cloud או ה-API.

אם נתוני Firestore נמצאים באותו פרויקט כמו Gemini Enterprise, עברו אל ייבוא נתונים מ-Firestore.

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

הגדרת גישה ל-Firestore מפרויקט אחר

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

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

    service-PROJECT_NUMBER@gcp-sa-discoveryengine.iam.gserviceaccount.com
    
  2. נכנסים לדף IAM & Admin.

    IAM & Admin

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

  4. בשדה New principals, מזינים את המזהה של חשבון השירות של המכונה ובוחרים את התפקיד Datastore > Cloud Datastore Import Export Admin.

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

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

עכשיו עוברים לקטע ייבוא נתונים מ-Firestore.

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

המסוף

כדי להטמיע נתונים מ-Firestore באמצעות המסוף:

  1. נכנסים לדף Gemini Enterprise במסוף Google Cloud .

    Gemini Enterprise

  2. נכנסים לדף Data Stores.

  3. לוחצים על Create Data Store.

  4. בדף Select a data source, בוחרים באפשרות Firestore.

  5. מציינים את מזהה הפרויקט, מזהה מסד הנתונים ומזהה האוסף של הנתונים שרוצים לייבא.

  6. לוחצים על Continue.

  7. בוחרים אזור למאגר הנתונים.

  8. נותנים שם למאגר הנתונים.

  9. לוחצים על יצירה.

  10. כדי לבדוק את סטטוס ההטמעה, נכנסים לדף Data Stores ולוחצים על שם מאגר הנתונים כדי לראות פרטים עליו בדף Data. כשהסטטוס בעמודה בכרטיסייה פעילות משתנה מבתהליך להייבוא הושלם, הטמעת הנתונים הסתיימה.

    בהתאם לגודל הנתונים, הטמעת הנתונים יכולה להימשך כמה דקות או כמה שעות.

REST

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

  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. ייבוא נתונים מ-Firestore.

      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 '{
        "firestoreSource": {
          "projectId": "FIRESTORE_PROJECT_ID",
          "databaseId": "DATABASE_ID",
          "collectionId": "COLLECTION_ID",
        },
        "reconciliationMode": "RECONCILIATION_MODE",
        "autoGenerateIds": "AUTO_GENERATE_IDS",
        "idField": "ID_FIELD",
      }'
    

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

    • ‫PROJECT_ID: מזהה הפרויקט ב-Gemini Enterprise.
    • ‫DATA_STORE_ID: המזהה של מאגר הנתונים. המזהה יכול להכיל רק אותיות קטנות, ספרות, קווים תחתונים ומקפים.
    • ‫FIRESTORE_PROJECT_ID: המזהה של הפרויקט ב-Firestore.
    • ‫DATABASE_ID: המזהה של מסד הנתונים ב-Firestore.
    • ‫COLLECTION_ID: המזהה של האוסף ב-Firestore.
    • ‫RECONCILIATION_MODE: אופציונלי. הערכים הם FULL ו-INCREMENTAL. ברירת המחדל היא INCREMENTAL. אם מציינים את INCREMENTAL, מתבצע רענון מצטבר של הנתונים מ-Firestore למאגר הנתונים. הפעולה הזו מבצעת עדכון או הוספה (upsert), שמוסיפה מסמכים חדשים ומחליפה מסמכים קיימים במסמכים מעודכנים עם אותו מזהה. אם מציינים את הערך FULL, מתבצע שינוי בסיס מלא של המסמכים במאגר הנתונים. במילים אחרות, מסמכים חדשים ומעודכנים מתווספים למאגר הנתונים, ומסמכים שלא נמצאים ב-Firestore מוסרים ממאגר הנתונים. מצב FULL שימושי אם רוצים למחוק באופן אוטומטי מסמכים שכבר לא צריך.
    • ‫AUTO_GENERATE_IDS: אופציונלי. מציינים אם ליצור מזהי מסמכים באופן אוטומטי. אם הערך הוא true, מזהי המסמכים נוצרים על סמך גיבוב (hash) של המטען הייעודי (payload). חשוב לזכור שמזהי המסמכים שנוצרו לא בהכרח יישארו עקביים בכמה פעולות ייבוא. אם אתם יוצרים מזהים באופן אוטומטי בכמה פעולות ייבוא, Google ממליצה מאוד להגדיר את reconciliationMode לערך FULL כדי לשמור על מזהי מסמכים עקביים.
    • ‫ID_FIELD: אופציונלי. מציינים אילו שדות הם מזהי המסמכים.

השלבים הבאים