ייבוא מילוני מונחים עסקיים מגיליון אלקטרוני ב-Google Sheets

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

כלי השירות glossary_import מנתח ומאמת נתונים מגיליון אלקטרוני ב-Google, ממיר אותם לפורמט שתואם ל-CreateMetadataJob API של Knowledge Catalog ומעלה אותם לקטגוריה של Cloud Storage לפני הפעלת משימת הייבוא.

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

לפני שמייבאים מילונים, צריך לבצע את הפעולות הבאות.

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

כדי להריץ את כלי הייבוא באמצעות גיליון אלקטרוני של Google, צריך להגדיר חשבון שירות עם ההרשאות הנדרשות לגישה ל-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

אם נתקלים בבעיות בהתקנת החבילה, מגדירים סביבת פיתוח חדשה בשפת 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 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 Sheets וקביעת המבנה שלו לייבוא

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

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

שדה חובה או אופציונלי תיאור
id חובה מזהה ייחודי למונח או לקטגוריה במילון המונחים.
parent אופציונלי המזהה של קטגוריית ההורה. אם השדה ריק, הפריט הוא צאצא ברמת הבסיס של המילון. הערה: מזהה ההורה שאליו מתייחסים חייב להופיע בגיליון ולהשתייך לקטגוריה.
display_name חובה השם המוצג של המונח או הקטגוריה.
description אופציונלי תיאור קצר של המונח או הקטגוריה.
overview אופציונלי תיאור בפורמט טקסט עשיר של המונח או הקטגוריה (תומך בתגי HTML).
type חובה סוג השורה. הערכים התקינים הם TERM או CATEGORY.
contact1_email אופציונלי כתובת האימייל של האחראי הראשי על הנתונים של המונח או הקטגוריה.
contact1_name אופציונלי השם של האחראי הראשי על הנתונים של המונח או הקטגוריה.
contact2_email אופציונלי כתובת האימייל של האחראי המשני על הנתונים של המונח או הקטגוריה.
contact2_name אופציונלי השם של האחראי המשני על הנתונים עבור המונח או הקטגוריה.
label1_key אופציונלי המפתח של התווית הראשונה שהוקצתה.
label1_value אופציונלי הערך של התווית הראשונה שהוקצתה.
label2_key אופציונלי המפתח של התווית השנייה שהוקצתה.
label2_value אופציונלי הערך של התווית השנייה שהוקצתה.

ייבוא מילון מונחים מגיליון אלקטרוני ב-Google Sheets

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

python3 bg_import/dataplex-glossary/glossary_import.py

כלי הייבוא מדפיס את התוצאה של הפעלת CreateMetadataJob API ישירות במסוף. מוודאים שסטטוס העבודה הוא 'הצלחה'.

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

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