מעבר למילון המונחים הארגוני ב-Dataplex Universal Catalog

במסמך הזה מוסבר איך לבצע העברה בשלב אחד מגרסת הטרום-השקה של מילון המונחים הארגוני, שתמכה במטא-נתונים של Data Catalog, לגרסה הזמינה לכלל המשתמשים של מילון המונחים הארגוני ב-Dataplex Universal Catalog. המעבר לגרסה הזמינה לכולם מאפשר לכם להשתמש ביכולות המשופרות ובשילוב המעמיק יותר עם מטא-נתונים של Dataplex Universal Catalog, וליהנות מיציבות משופרת, מתכונות חדשות ומתמיכה מלאה בסביבת הייצור. התהליך הזה מעדכן אוטומטית את המילונים כדי לתמוך במטא-נתונים של Dataplex Universal 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 אל Dataplex Universal Catalog, צריך לבקש מהאדמין להקצות לכם את תפקידי ה-IAM הבאים:

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

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

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

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

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

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

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

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

python3 run.py --project=MIGRATION_PROJECT_ID --user-project=USER_PROJECT_ID --buckets=BUCKET1,BUCKET2

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

  • USER_PROJECT_ID: מזהה הפרויקט של הפרויקט שרוצים להעביר.

    MIGRATION_PROJECT_ID מתייחס לפרויקט המקור שמכיל את המילונים של Data Catalog שרוצים לייצא. הפרויקט USER_PROJECT_ID משמש לחיוב ולשיוך מכסות לקריאות ה-API שנוצרות על ידי הסקריפט.

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

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

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

הגדרת מילונים בהעברה

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

python3 run.py --project=MIGRATION_PROJECT_ID --user-project=USER_PROJECT_ID --buckets=BUCKET1,BUCKET2 --glossaries="GLOSSARY_URL1","GLOSSARY_URL2"

מחליפים את GLOSSARY_URL1 (ואת GLOSSARY_URL2) בכתובות ה-URL של מילוני המונחים שרוצים להעביר. אפשר לציין כתובת URL אחת או יותר של מילון מונחים.

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

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

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

python3 run.py --project=MIGRATION_PROJECT_ID --user-project=USER_PROJECT_ID --buckets=BUCKET1,BUCKET2 --resume-import

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

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

פתרון בעיות

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

  • ההרשאה נדחתה / שגיאה 403: צריך לוודא שלמשתמש או לחשבון השירות יש את התפקיד 'עריכת Dataplex Universal Catalog' בפרויקט היעד ואת התפקיד 'צפייה בקטלוג הנתונים' בפרויקט המקור.

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

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

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