במסמך הזה מוסבר איך להשתמש בכלי לייבוא קישורי רשומות כדי לייבא בכמות גדולה קישורי רשומות (קשרים בין מונחים במילון מונחים לבין נכסי נתונים, כולל סוגי קישורי הרשומות definition, related ו-synonym) מגיליון אלקטרוני ב-Google Sheets אל Knowledge Catalog (לשעבר Dataplex Universal Catalog).
לפני שמתחילים
לפני שמייבאים קישורים לרשומות ל-Knowledge Catalog, צריך להשלים את הדרישות המוקדמות הבאות.
הגדרת חשבון השירות
כדי להריץ את כלי הייבוא באמצעות Google Sheets, צריך להגדיר חשבון שירות עם ההרשאות הנדרשות לגישה ל-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 - יצירת אובייקטים של אחסון (
roles/storage.objectCreator) בקטגוריה של 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 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/ בנתיב ההפעלה המקומי. היומנים האלה עוזרים לכם לבדוק את תהליך ההעברה ולזהות רשומות שדילגו עליהן או אזהרות לגבי עיצוב.
המאמרים הבאים
- איך מנהלים מילון מונחים עסקי
- איך מייצאים קישורים להזנת נתונים לגיליון אלקטרוני של Google
- איך מייבאים מילוני מונחים מגיליון אלקטרוני ב-Google Sheets
- מידע נוסף על ניהול מטא-נתונים