מעבר למילון מונחים עסקי ב-Knowledge Catalog

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

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

  1. מתקינים את gcloud או חבילות Python. מאמתים את חשבון המשתמש ואת Application Default Credentials ‏(ADC) שבהם נעשה שימוש בספריות Python. מריצים את הפקודות הבאות ופועלים לפי ההנחיות בדפדפן:

    gcloud init
    gcloud auth login
    gcloud auth application-default login
    
  2. מפעילים את ממשקי ה-API הבאים:

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

    service-MIGRATION_PROJECT_ID@gcp-sa-dataplex.iam.gserviceaccount.com

    מחליפים את MIGRATION_PROJECT_ID בפרויקט שממנו מעבירים את המילונים.

  4. מגדירים את המאגר:

    1. משכפלים את המאגר:

      git clone https://github.com/GoogleCloudPlatform/dataplex-labs.git
      cd dataplex-labs/dataplex-quickstart-labs/00-resources/scripts/python/business-glossary-import
      
    2. מתקינים את החבילות הנדרשות:

      pip3 install -r requirements.txt
      cd migration
      

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

כדי לקבל את ההרשאות שדרושות להעברת מילונים מ-Data Catalog אל Knowledge Catalog, צריך לבקש מהאדמין להקצות לכם את תפקידי ה-IAM הבאים:

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

התפקידים המוגדרים מראש האלה כוללים את ההרשאות שנדרשות להעברת מילונים מ-Data Catalog ל-Knowledge Catalog. כדי לראות בדיוק אילו הרשאות נדרשות, אפשר להרחיב את הקטע ההרשאות הנדרשות:

ההרשאות הנדרשות

כדי להעביר מילונים מ-Data Catalog ל-Knowledge Catalog, נדרשות ההרשאות הבאות:

  • datacatalog.glossaries.get בפרויקט שממנו אתם מעבירים את המילונים
  • datacatalog.glossaries.list בפרויקט שממנו אתם מעבירים את המילונים
  • dataplex.glossaries.create בפרויקט שבו נוצרים מילוני מונחים ב-Knowledge Catalog
  • dataplex.glossaries.update בפרויקט שבו יתעדכנו מילוני המונחים ב-Knowledge Catalog

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

למידע נוסף על ניהול זהויות והרשאות גישה (IAM) ב-Knowledge Catalog, אפשר לעיין במאמר ניהול גישה באמצעות IAM.

הפעלת סקריפט ההעברה

python3 run.py --project=PROJECT_ID --buckets=BUCKET1,BUCKET2

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

  • PROJECT_ID: מזהה הפרויקט של הפרויקט שרוצים להעביר. הפרויקט הזה משמש גם לחיוב ולשיוך מכסות לקריאות ה-API שנוצרות על ידי הסקריפט.

  • BUCKET1 ו-BUCKET2: מזהי הקטגוריות של Cloud Storage שישמשו לייבוא.

    אפשר לציין דלי אחד או יותר. בארגומנטים של ה-bucket, צריך לספק רשימה מופרדת בפסיקים של שמות ה-bucket ללא רווחים (לדוגמה, --buckets=bucket-one,bucket-two). לא נדרש מיפוי של אחד לאחד בין ה-bucket לבין המילונים. הסקריפט מריץ את עבודות הייבוא במקביל, וכך מאיץ את המיגרציה.

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

מילוני מונחים בהעברה

כדי להעביר רק מילונים ספציפיים, צריך להגדיר את ההיקף שלהם על ידי ציון כתובות ה-URL שלהם.

python3 run.py --project=PROJECT_ID --buckets=BUCKET1,BUCKET2 --glossaries="GLOSSARY_URL1","GLOSSARY_URL2"

מחליפים את GLOSSARY_URL1 (ואת GLOSSARY_URL2) בכתובות ה-URL המלאות של המילונים שאתם מעבירים, כפי שהן מופיעות במסוףGoogle Cloud . אם מציינים מילונים באמצעות הדגל הזה, פרויקט המקור נקבע מכתובות ה-URL, והדגל --project משמש רק לחיוב.

לדוגמה: https://console.cloud.google.com/datacatalog/glossaries/projects/my-project/locations/us-central1/entryGroups/my-entry-group/glossaries/my-glossary

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

המשך ההעברה במקרה של כשלים במשימת הייבוא

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

python3 run.py --project=PROJECT_ID --buckets=BUCKET1,BUCKET2 --resume-import

אם נתקלים בכשלים, מריצים שוב את הפקודה resume. הסקריפט מעבד רק קבצים שלא יובאו ונמחקו בהצלחה.

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

פתרון בעיות

בקטע הזה מפורטים פתרונות לשגיאות נפוצות.

  • הגישה נדחתה / שגיאה 403: מוודאים שלמשתמש או לחשבון השירות יש את התפקיד Dataplex Editor בפרויקט היעד ואת התפקיד Dataplex Viewer בפרויקט המקור.

  • ModuleNotFoundError: מוודאים שהפעלתם את הסביבה הווירטואלית של Python והתקנתם את החבילות הנדרשות באמצעות pip3 install -r requirements.txt.

  • TimeoutError / ssl.SSLError: שגיאות ברמת הרשת האלה עשויות להיגרם על ידי חומות אש, שרתי proxy או חיבורים איטיים. הסקריפט מוגבל בזמן קצוב לתפוגה של 5 דקות – אם הבעיות נמשכות, יכול להיות שיהיה צורך לבדוק את הגדרות הרשת המקומית.

  • Method not found (Cannot fetch entries): השגיאה הזו מציינת בדרך כלל שלפרויקט המשתמש אין הרשאה לקרוא ל-API, ולכן לא ניתן לאחזר את הרשומות הנדרשות.