ייבוא קישורים להשתתפות מגיליון אלקטרוני ב-Google Sheets

במסמך הזה מוסבר איך להשתמש בכלי לייבוא קישורי רשומות כדי לייבא בכמות גדולה קישורי רשומות (קשרים בין מונחים במילון מונחים לבין נכסי נתונים, כולל סוגי קישורי הרשומות definition, related ו-synonym) מגיליון אלקטרוני ב-Google Sheets אל Knowledge Catalog (לשעבר Dataplex Universal Catalog).

לפני שמתחילים

לפני שמייבאים קישורים לרשומות ל-Knowledge Catalog, צריך להשלים את הדרישות המוקדמות הבאות.

הגדרת חשבון השירות

כדי להריץ את כלי הייבוא באמצעות Google Sheets, צריך להגדיר חשבון שירות עם ההרשאות הנדרשות לגישה ל-Google Sheets API ולהתחזות לפרטי הכניסה של המשתמש:

  1. מאתרים או יוצרים חשבון שירות.

    בוחרים חשבון שירות קיים או יוצרים חשבון שירות חדש בפרויקט שבו מריצים את כלי הייבוא. מידע נוסף זמין במאמר יצירת חשבונות שירות. רושמים את כתובת האימייל בחשבון השירות (לדוגמה, SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com).

  2. מגדירים התחזות לחשבון שירות.

    כדי להריץ את סקריפט כלי השירות לייבוא באופן מקומי, לחשבון המשתמש שלכם צריכה להיות הרשאה להתחזות לחשבון השירות. מקצים לחשבון המשתמש את התפקיד יצירת אסימונים בחשבון שירות (roles/iam.serviceAccountTokenCreator) בחשבון השירות.

    מידע נוסף מופיע במאמר בנושא ניהול הגישה לחשבונות שירות.

  3. מעניקים לחשבון השירות Editor גישה לגיליון האלקטרוני ב-Google Sheets.

    פותחים את גיליון Google שרוצים להשתמש בו בתהליך הייבוא, לוחצים על שיתוף ומוסיפים את כתובת האימייל בחשבון השירות כEditor. ההרשאה הזו מאפשרת לחשבון השירות לקרוא נתונים מהגיליון או לכתוב נתונים בגיליון.

יצירת קטגוריה של Cloud Storage

יוצרים קטגוריה של Cloud Storage שתשמש כאזור הכנה לקבצים לייבוא.

התפקידים הנדרשים

כדי לוודא שלחשבון השירות יש את ההרשאות הנדרשות לייבוא קישורים לרשומות מגיליון אלקטרוני של Google, צריך לבקש מהאדמין להקצות לחשבון השירות את תפקידי ה-IAM הבאים:

להסבר על מתן תפקידים, ראו איך מנהלים את הגישה ברמת הפרויקט, התיקייה והארגון.

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

הפעלת ממשקי ה-API

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

תפקידים שנדרשים להפעלת ממשקי API

כדי להפעיל ממשקי API, צריך את תפקיד ה-IAM 'אדמין של Service Usage' (roles/serviceusage.serviceUsageAdmin), שכולל את ההרשאה serviceusage.services.enable. איך מקצים תפקידים

הפעלת ממשקי ה-API

הגדרת מאגר Git

משכפלים את המאגר dataplex-labs:

git clone https://github.com/GoogleCloudPlatform/dataplex-labs.git
cd dataplex-labs/dataplex-quickstart-labs/00-resources/scripts/python/business-glossary-import/dataplex-glossary/import

התקנת יחסי תלות

מתקינים את יחסי התלות הנדרשים של Python:

pip3 install -r requirements.txt
cd dataplex-glossary

אם נתקלים בבעיות בהתקנת החבילה, מגדירים סביבת פיתוח חדשה בשפת Python.

אימות והגדרה של התחזות לחשבון שירות

מאתחלים את Google Cloud CLI ומבצעים אימות באמצעות Application Default Credentials ‏ (ADC) עם התחזות לחשבון שירות:

# Set your service account email address
SA_EMAIL="SERVICE_ACCOUNT_EMAIL"

# Authenticate ADC using service account impersonation and required scopes
gcloud init
gcloud auth login
gcloud auth application-default login \
  --impersonate-service-account="${SA_EMAIL}" \
  --scopes="https://www.googleapis.com/auth/spreadsheets"

מחליפים את SERVICE_ACCOUNT_EMAIL בכתובת האימייל בחשבון השירות. לדוגמה:

SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com

הדרישות לייבוא בין פרויקטים

כדי לייבא קישורים לכניסה למספר Google Cloud פרויקטים, צריך לוודא שההגדרה עומדת בדרישות הבאות לפני שמריצים את כלי הייבוא:

  • הגדרת הרשאות IAM בין פרויקטים: לחשבון השירות שמריץ את סקריפט הייבוא צריכות להיות הרשאות מספיקות בכל פרויקטי היעד.

  • אימות קיום הרשומות: רשומות היעד צריכות כבר להיות קיימות בפרויקטים המתאימים ב-Knowledge Catalog לפני שמריצים את הייבוא.

  • נותנים לסוכני השירות של Knowledge Catalog גישה לקטגוריית Cloud Storage: לחשבונות השירות של Knowledge Catalog בכל פרויקט יעד נדרשת גישה לקטגוריות של Cloud Storage.

יצירה של גיליון אלקטרוני ב-Google Sheets וקביעת המבנה שלו לייבוא

כדי להפעיל ייבוא בכמות גדולה, צריך ליצור גיליון אלקטרוני חדש ב-Google Sheets באמצעות סכימת עמודות מדויקת, כדי שכלי הייבוא יוכל לנתח ולאמת את שדות המטא-נתונים. מוודאים שהענקתם לחשבון השירות Editor גישה לגיליון האלקטרוני ב-Google Sheets.

השורה הראשונה בגיליון צריכה להכיל את כותרות הסכימה הבאות, שצריך להקפיד על האיות שלהן ועל השימוש באותיות רישיות:

כותרת עמודה חובה או אופציונלי תיאור
entry_link_type חובה הערך חייב להיות definition,‏ related או synonym.
source_entry חובה הנתיב המלא של משאב רשומת המקור בפורמט:
projects/PROJECT_ID/locations/LOCATION/entryGroups/ENTRYGROUP_NAME/entries/ENTRY_NAME
target_entry חובה נתיב המשאב המלא של רשומת היעד בפורמט:
projects/PROJECT_ID/locations/LOCATION/entryGroups/ENTRYGROUP_NAME/entries/ENTRY_NAME
source_path אופציונלי נתיב של עמודה או שדה לקישורי הגדרה (לדוגמה, Schema.column_name).

הגדרה של משתני סביבה

מגדירים את משתני הסביבה הבאים:

# Set your Google Sheet URL
export SPREADSHEET_URL="GOOGLE_SHEET_URL"

# Set your bucket name
export BUCKETS="COMMA_SEPARATED_LIST_OF_BUCKETS"

# Set the project ID
export USER_PROJECT="USER_PROJECT"

ייבוא קישורים להזנת נתונים מגיליון אלקטרוני ב-Google Sheets

כדי לייבא את קישורי הרשומות מגיליון Google אל Knowledge Catalog, מריצים את הסקריפט entrylinks-import.py:

cd import
python3 entrylinks-import.py \
  --spreadsheet-url="$SPREADSHEET_URL" \
  --buckets="$BUCKETS" \
  --user-project="$USER_PROJECT"

כדי להריץ כמה משימות ייבוא במקביל, מציינים כמה קטגוריות של Cloud Storage בפרמטר --buckets. הסקריפט מפצל את המטא-נתונים למקבצים קטנים יותר ומעבד אותם במקביל בקטגוריות, וכך מקצר את זמן ההטמעה הכולל.

אפשר לעיין ביומני ההפעלה בספרייה logs/ בנתיב ההפעלה המקומי. היומנים האלה עוזרים לכם לבדוק את תהליך ההעברה ולזהות רשומות שדילגו עליהן או אזהרות לגבי עיצוב.

המאמרים הבאים