במאמר הזה מוסבר איך להשתמש בכלי לייבוא מילונים כדי לייבא בכמות גדולה מילונים, קטגוריות ומונחים מגיליון אלקטרוני ב-Google אל Knowledge Catalog (לשעבר Dataplex Universal Catalog).
כלי השירות glossary_import מנתח ומאמת נתונים מגיליון אלקטרוני ב-Google, ממיר אותם לפורמט שתואם ל-CreateMetadataJob API של Knowledge Catalog ומעלה אותם לקטגוריה של Cloud Storage לפני הפעלת משימת הייבוא.
לפני שמתחילים
לפני שמייבאים מילונים, צריך לבצע את הפעולות הבאות.
הגדרת חשבון השירות
כדי להריץ את כלי הייבוא באמצעות גיליון אלקטרוני של Google, צריך להגדיר חשבון שירות עם ההרשאות הנדרשות לגישה ל-Google Sheets API ולהתחזות לפרטי הכניסה של המשתמש:
מאתרים או יוצרים חשבון שירות.
בוחרים חשבון שירות קיים או יוצרים חשבון שירות חדש בפרויקט שבו מריצים את כלי הייבוא. מידע נוסף זמין במאמר יצירת חשבונות שירות. רושמים את כתובת האימייל בחשבון השירות (לדוגמה,
SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com).מגדירים התחזות לחשבון שירות.
כדי להריץ את סקריפט כלי השירות לייבוא באופן מקומי, לחשבון המשתמש שלכם צריכה להיות הרשאה להתחזות לחשבון השירות. מקצים לחשבון המשתמש את התפקיד יצירת אסימונים בחשבון שירות (
roles/iam.serviceAccountTokenCreator) בחשבון השירות.מידע נוסף מופיע במאמר בנושא ניהול הגישה לחשבונות שירות.
מעניקים לחשבון השירות
Editorגישה לגיליון האלקטרוני ב-Google Sheets.פותחים את גיליון Google שרוצים להשתמש בו בתהליך הייבוא, לוחצים על שיתוף ומוסיפים את כתובת האימייל בחשבון השירות כ
Editor. ההרשאה הזו מאפשרת לחשבון השירות לקרוא נתונים מהגיליון או לכתוב נתונים בגיליון.
יצירת קטגוריה של Cloud Storage
יוצרים קטגוריה של Cloud Storage שתשמש כאזור הכנה לקבצים לייבוא.
התפקידים הנדרשים
כדי לוודא שלחשבון השירות יש את ההרשאות הנדרשות לייבוא מילוני מונחים מגיליון אלקטרוני של Google, צריך לבקש מהאדמין להקצות לחשבון השירות את תפקידי ה-IAM הבאים:
- אדמין Dataplex (
roles/dataplex.admin) בפרויקט - אדמין של Dataplex Catalog (
roles/dataplex.catalogAdmin) בפרויקט - Dataplex Catalog Editor (
roles/dataplex.catalogEditor) on the project - אדמין של אובייקט אחסון (
roles/storage.objectAdmin) בקטגוריה של Cloud Storage
להסבר על מתן תפקידים, ראו איך מנהלים את הגישה ברמת הפרויקט, התיקייה והארגון.
יכול להיות שהאדמין גם יוכל לתת לחשבון השירות את ההרשאות שנדרשות באמצעות תפקידים בהתאמה אישית או תפקידים מוגדרים מראש אחרים.
הפעלת ממשקי ה-API
כדי לייבא מילונים, צריך להפעיל את ממשקי ה-API הבאים בפרויקט:
תפקידים שנדרשים להפעלת ממשקי API
כדי להפעיל ממשקי API, צריך את תפקיד ה-IAM 'אדמין של Service Usage' (roles/serviceusage.serviceUsageAdmin), שכולל את ההרשאה serviceusage.services.enable. איך מקצים תפקידים
הגדרת מאגר 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/ בנתיב ההפעלה המקומי. היומנים האלה עוזרים לכם לבדוק את תהליך ההעברה ולזהות רשומות שדילגו עליהן או אזהרות לגבי עיצוב.
המאמרים הבאים
- איך מנהלים מילון מונחים עסקי
- איך מייבאים מילונים באמצעות קובצי JSON
- איך מייצאים מילוני מונחים לגיליון אלקטרוני ב-Google Sheets
- מידע נוסף על ניהול מטא-נתונים