ייבוא מטא-נתונים באמצעות צינור עיבוד נתונים בהתאמה אישית

במאמר הזה מוסבר איך לייבא מטא-נתונים ממערכת של צד שלישי אל Dataplex Universal Catalog באמצעות שיטות של Metadata Import API וצינור משלכם. המטא-נתונים של Dataplex Universal Catalog מורכבים מפריטים וממאפיינים שלהם.

אם אתם רוצים להשתמש בצינור עיבוד נתונים לתזמור שמנוהל על ידי Google Cloudכדי לחלץ ולייבא מטא-נתונים, מומלץ להשתמש בצינור עיבוד נתונים לקישוריות שמנוהל על ידי. בצינור קישוריות מנוהל, אתם מביאים מחבר משלכם שמחלץ מטא-נתונים ומפיק פלט בפורמט שאפשר להשתמש בו כקלט בשיטות של API לייבוא מטא-נתונים (קובץ ייבוא המטא-נתונים). לאחר מכן, משתמשים ב-Workflows כדי לתזמן את המשימות בצינור.

אפשר להריץ את סוגי משימות הייבוא הבאים של מטא-נתונים:

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

שלבים כלליים

כדי לייבא מטא-נתונים באמצעות ה-API לייבוא מטא-נתונים, פועלים לפי השלבים הכלליים הבאים:

  1. קובעים את היקף העבודה.

    בנוסף, כדאי להבין איך Dataplex Universal Catalog משתמש בלוגיקת ההשוואה ובמצב הסנכרון של רשומות והיבטים.

  2. יוצרים קובץ אחד או יותר של ייבוא מטא-נתונים שמגדירים את הנתונים לייבוא.

  3. שומרים את קובצי ייבוא המטא-נתונים בקטגוריה של Cloud Storage.

  4. מריצים משימה של ייבוא מטא-נתונים.

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

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

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

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

כדי לוודא שלחשבון השירות של Dataplex Universal Catalog יש את ההרשאות הנדרשות לגישה לקטגוריה של Cloud Storage, צריך לבקש מהאדמין להקצות לחשבון השירות של Dataplex Universal Catalog את תפקיד ה-IAM ‏Storage Object Viewer (roles/storage.objectViewer) ואת ההרשאה storage.buckets.get בקטגוריה.

כדי לקבל את ההרשאות שדרושות לניהול של משימות ייבוא מטא-נתונים, אתם צריכים לבקש מהאדמין להקצות לכם את תפקידי ה-IAM הבאים:

  • שינוי רשומות והמאפיינים שלהן במשימת מטא-נתונים של סנכרון רשומות מלא:
  • שינוי של היבטים נדרשים במשימת מטא-נתונים של היבט בלבד:
  • שינוי של היבטים אופציונליים בעבודת מטא-נתונים מסוג aspect-only: Dataplex Aspect Type User (roles/dataplex.aspectTypeUser) בהיבט או בפרויקט שבו ההיבט מוגדר. הערה: כשמשנים מאפיינים אופציונליים במשימת מטא-נתונים של מאפיין בלבד, לא צריך הרשאות לסוג הרשומה המשויך.
  • יצירת משימות לייבוא מטא-נתונים:
  • צפייה במשימות של מטא-נתונים: Dataplex Metadata Job Viewer (roles/dataplex.metadataJobViewer) בפרויקט
  • יצירה, צפייה וביטול של משימות מטא-נתונים: Dataplex Metadata Job Owner (roles/dataplex.metadataJobOwner) on the project

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

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

יצירת Google Cloud משאבים

מכינים את המשאבים הבאים של Google Cloud :

  1. יוצרים קבוצות של רשומות לרשומות שרוצים לייבא.
  2. יוצרים סוגי היבטים להיבטים שרוצים לייבא.
  3. יוצרים סוגי רשומות לרשומות שרוצים לייבא.
  4. אם אתם מריצים משימת מטא-נתונים של היבט בלבד, אתם צריכים ליצור רשומות להיבטים שאתם רוצים לייבא.
  5. יוצרים קטגוריה של Cloud Storage כדי לאחסן את קובצי ייבוא המטא-נתונים.

המרכיבים של משימת ייבוא מטא-נתונים

כשמייבאים מטא-נתונים, חשוב להתייחס לרכיבים הבאים של עבודת מטא-נתונים:

  • היקף העבודה: קבוצות הרשומות, סוגי הרשומות וסוגי ההיבטים שרוצים לכלול בעבודה.
  • מצב סנכרון: איך הרשומות וההיבטים במשימה מתעדכנים.
  • קובץ לייבוא מטא-נתונים: קובץ שמגדיר את הערכים שיוגדרו לרשומות ולמאפיינים במשימה. אפשר לספק כמה קבצים לייבוא מטא-נתונים באותו תהליך ייבוא מטא-נתונים. שומרים את הקבצים ב-Cloud Storage.
  • לוגיקת ההשוואה: איך Dataplex Universal Catalog קובע אילו רשומות והיבטים לשנות.

היקף המשרה

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

כדי להגדיר את היקף העבודה, צריך לפעול לפי ההנחיות הבאות:

  • קבוצות של רשומות: מציינים קבוצה אחת או יותר של רשומות שייכללו בעבודה. העבודה משנה רק את הרשומות וההיבטים ששייכים לקבוצות הרשומות האלה. קבוצות הערכים והמשרה צריכות להיות באותו אזור.

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

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

היקף המשימה חייב לכלול את כל סוגי הרשומות וסוגי ההיבטים שציינתם בקובץ ייבוא המטא-נתונים.

כשיוצרים משימת מטא-נתונים, מציינים את היקף המשימה.

מצב סנכרון

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

מטרה מצב סנכרון של רשומות מצב סנכרון של יחס גובה-רוחב תוצאות
ייבוא רשומות וההיבטים שלהן FULL INCREMENTAL

כל הרשומות בהיקף העבודה ישתנו.

אם רשומה קיימת ב-Dataplex Universal Catalog אבל לא נכללת בקובץ ייבוא המטא-נתונים, הרשומה נמחקת כשמריצים את משימת המטא-נתונים.

היבט משתנה רק אם קובץ ייבוא המטא-נתונים כולל הפניה להיבט בשדה updateMask ובשדה aspectKeys. במאמר מבנה של פריט ייבוא מוסבר על מבנה הפריטים.

ייבוא של היבטים בלבד NONE INCREMENTAL

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

מטא-נתונים אחרים ששייכים לרשומות בהיקף המשרה לא משתנים.

מציינים את מצב הסנכרון כשיוצרים משימת מטא-נתונים.

קובץ ייבוא של מטא-נתונים

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

חשוב להקפיד על ההנחיות הכלליות הבאות:

  • אפשר לספק כמה קובצי ייבוא של מטא-נתונים באותה משימת מטא-נתונים.
  • כשמריצים משימה של סנכרון מלא של מטא-נתונים של רשומות, הרשומות שמספקים בקובץ מחליפות לחלוטין את כל הרשומות הקיימות של כל המשאבים שנכללים בהיקף המשימה. המשמעות היא שצריך לכלול ערכים לכל הרשומות במשימה, ולא רק לערכים שרוצים להוסיף או לעדכן. כדי לקבל רשימה של הרשומות הנוכחיות בפרויקט שלכם ולהשתמש בה כנקודת התחלה, משתמשים בשיטת ה-API‏ entries.list.

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

  • כל הערכים וההיבטים שאתם כוללים בקובץ צריכים להיות שייכים לקבוצות של רשומות, לסוגי רשומות ולסוגי היבטים שאתם מגדירים בהיקף המשימה.

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

מבנה הקובץ

כל שורה בקובץ ייבוא המטא-נתונים מכילה אובייקט JSON שתואם לפריט ייבוא אחד. פריט ייבוא הוא אובייקט שמתאר את הערכים שצריך לשנות ברשומה ובמאפיינים המצורפים שלה.

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

קובץ לייבוא מטא-נתונים עם תו מעבר לשורה בין כל פריט לייבוא נראה כמו הדוגמה הבאה:

{ "entry": { "name": "entry 1", #Information about entry 1 }
{ "entry": { "name": "entry 2", #Information about entry 2 }

המבנה של פריט ייבוא

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

{
  "entry": {
    "name": "ENTRY_NAME",
    "entryType": "ENTRY_TYPE",
    "entrySource": {
      "resource": "RESOURCE",
      "system": "SYSTEM",
      "platform": "PLATFORM",
      "displayName": "DISPLAY_NAME",
      "description": "DESCRIPTION",
      "createTime": "ENTRY_CREATE_TIMESTAMP",
      "updateTime": "ENTRY_UPDATE_TIMESTAMP"
    },
    "aspects": {
      "ASPECT": {
        "data": {
          "KEY": "VALUE"
        },
        "aspectSource": {
          "createTime": "ASPECT_CREATE_TIMESTAMP",
          "updateTime": "ASPECT_UPDATE_TIMESTAMP"
        }
      },
      # Additional aspect maps
    },
    "parentEntry": "PARENT_ENTRY",
    "fullyQualifiedName": "FULLY_QUALIFIED_NAME"
  },
  "updateMask": "UPDATE_MASK_FIELDS",
  "aspectKeys": [
    "ASPECT_KEY",
    # Additional aspect keys
  ],
}

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

  • entry: מידע על רשומה וההיבטים שמצורפים אליה. במשימת ייבוא של מטא-נתונים מסוג aspect-only, Dataplex Universal Catalog מתעלם מכל השדות האופציונליים של רשומה, מלבד מיפויי ההיבטים.

    • ENTRY_NAME: שם המשאב היחסי של הרשומה, בפורמט projects/PROJECT_ID_OR_NUMBER/locations/LOCATION_ID/entryGroups/ENTRY_GROUP_ID/entries/ENTRY_ID.
    • ENTRY_TYPE: שם המשאב היחסי של סוג הרשומה ששימש ליצירת הרשומה הזו, בפורמט projects/PROJECT_ID_OR_NUMBER/locations/LOCATION_ID/entryTypes/ENTRY_TYPE_ID.
    • entrySource: מידע ממערכת המקור על משאב הנתונים שמיוצג על ידי הרשומה:
      • RESOURCE: השם של המשאב במערכת המקור.
      • SYSTEM: השם של מערכת המקור.
      • PLATFORM: הפלטפורמה שמכילה את מערכת המקור.
      • DISPLAY_NAME: שם מוצג ידידותי למשתמש.
      • DESCRIPTION: תיאור של הרשומה.
      • ENTRY_CREATE_TIMESTAMP: השעה שבה הרשומה נוצרה במערכת המקור.
      • ENTRY_UPDATE_TIMESTAMP: השעה שבה הרשומה עודכנה במערכת המקור.
    • aspects: ההיבטים שמצורפים לרשומה. האובייקט aspect והנתונים שלו נקראים מפת היבטים.

      • ASPECT: היבט שמצורף לרשומה. בהתאם לאופן שבו ההיבט מצורף לרשומה, משתמשים באחד מהפורמטים הבאים:

        • אם ההיבט מצורף ישירות לרשומה, צריך לציין את שם המשאב היחסי של סוג ההיבט בפורמט PROJECT_ID_OR_NUMBER.LOCATION_ID.ASPECT_TYPE_ID.
        • אם ההיבט מצורף לנתיב של הרשומה, צריך לספק את הנתיב של סוג ההיבט, בפורמט PROJECT_ID_OR_NUMBER.LOCATION_ID.ASPECT_TYPE_ID@PATH.
      • KEY ו-VALUE: התוכן של ההיבט, בהתאם לתבנית המטא-נתונים של סוג ההיבט. התוכן צריך להיות מקודד ב-UTF-8. הגודל המקסימלי של השדה הוא 120 KB. חובה להשתמש במילון data, גם אם הוא ריק.

      • ASPECT_CREATE_TIMESTAMP: השעה שבה נוצר ההיבט במערכת המקור.

      • ASPECT_UPDATE_TIMESTAMP: השעה שבה ההיבט עודכן במערכת המקור.

    • PARENT_ENTRY: שם המשאב של רשומת ההורה.

    • FULLY_QUALIFIED_NAME: שם לרשומה שאפשר להפנות אליה ממערכת חיצונית. שמות מלאים

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

    בעבודת סנכרון מלאה של רשומה, Dataplex Universal Catalog כולל את הנתיבים של כל השדות של רשומה שאפשר לשנות, כולל היבטים. המערכת מתעלמת מהשדה updateMask כשיוצרים או יוצרים מחדש רשומה.

    במשימת מטא-נתונים של היבט בלבד, מגדירים את הערך הזה ל-aspects.

  • ASPECT_KEY: ההיבטים שרוצים לשנות. תמיכה בתחביר הבא:

    • ASPECT_TYPE_REFERENCE: תואם לסוג ההיבט של היבטים שמצורפים ישירות לרשומה.
    • ASPECT_TYPE_REFERENCE@PATH: תואם לסוג ההיבט ולנתיב שצוין.
    • ASPECT_TYPE_REFERENCE@*: תואם לסוג ההיבט בכל הנתיבים.
    • *@PATH: תואם לכל סוגי ההיבטים בנתיב שצוין.

    מחליפים את ASPECT_TYPE_REFERENCE בהפניה לסוג ההיבט, בפורמט PROJECT_ID_OR_NUMBER.LOCATION_ID.ASPECT_TYPE_ID.

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

הדרישות לגבי קבצים

קובץ ייבוא המטא-נתונים צריך לעמוד בדרישות הבאות:

  • הקובץ צריך להיות בפורמט JSON Lines, כלומר קובץ JSON שמופרד בתו שורה חדשה. כדי להפריד בין פריטי הייבוא, צריך להשתמש בתו של שורה חדשה (0x0a).
  • הקובץ צריך להיות בקידוד תווים UTF-8.
  • סיומות הקבצים הנתמכות הן .jsonl ו-.json.
  • גודל הקובץ של כל קובץ ייבוא מטא-נתונים צריך להיות קטן מ-1 GiB. הגודל הכולל המקסימלי של כל הנתונים במשימת המטא-נתונים הוא 3GB. זה כולל את כל הקבצים והמטא-נתונים שמשויכים לעבודה.
  • סוגי הרשומות וסוגי ההיבטים שאתם מציינים בקובץ צריכים להיות חלק מההיקף של משימת המטא-נתונים.
  • צריך להעלות את הקובץ לקטגוריה של Cloud Storage. לא שומרים את הקובץ בתיקייה בשם CLOUD_STORAGE_URI/deletions/.

לוגיקת השוואה

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

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

הלוגיקה של ההשוואה משתנה בהתאם לסוג של עבודת ייבוא המטא-נתונים שמריצים.

משימת סנכרון מלאה של רשומות

במשימת סנכרון מלא של מטא-נתונים של רשומות, לכל רשומה שהיא חלק מההיקף של המשימה, Dataplex Universal Catalog מבצע את אחת הפעולות הבאות:

  • יוצר רשומה ומצרף היבטים. אם קובץ ייבוא המטא-נתונים כולל רשומה שלא קיימת בפרויקט, Dataplex Universal Catalog יוצר את הרשומה ומצרף את ההיבטים.
  • מחיקת רשומה וההיבטים שמצורפים אליה. אם רשומה קיימת בפרויקט, אבל קובץ ייבוא המטא-נתונים לא כולל את הרשומה, Dataplex Universal Catalog מוחק את הרשומה ואת ההיבטים שמשויכים אליה מהפרויקט.
  • עדכון של רשומה וההיבטים שמצורפים אליה. אם רשומה קיימת גם בקובץ ייבוא המטא-נתונים וגם בפרויקט, Dataplex Universal Catalog מעריך את חותמות הזמן של מקור הרשומה ואת חותמות הזמן של מקור ההיבט שמשויכות לרשומה כדי לקבוע אילו ערכים לשנות. לאחר מכן, Dataplex Universal Catalog מבצע אחת או יותר מהפעולות הבאות:

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

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

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

משימה שקשורה רק להיבט מסוים

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

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

    אי אפשר למחוק מאפיינים נדרשים.

  • עדכון של מאפיין. אם היבט מסוים קיים בפרויקט שלכם והוא נכלל בשדה של מפת ההיבטים, בשדה של מסיכת העדכון ובשדה של מפתחות ההיבטים בקובץ ייבוא המטא-נתונים, וחותמת הזמן של עדכון מקור ההיבט בקובץ ייבוא המטא-נתונים עדכנית יותר מחותמת הזמן התואמת בפרויקט, Dataplex Universal Catalog מעדכן את ההיבט.

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

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

יצירת קובץ לייבוא מטא-נתונים

לפני שמייבאים מטא-נתונים, צריך ליצור קובץ לייבוא מטא-נתונים עבור העבודה. כך עושים זאת:

  1. מכינים קובץ לייבוא מטא-נתונים לפי ההנחיות שמתוארות קודם במסמך הזה.
  2. העלאת הקובץ לקטגוריה של Cloud Storage.

אפשר לספק כמה קובצי ייבוא של מטא-נתונים באותה משימת מטא-נתונים. כדי לספק כמה קבצים, שומרים את הקבצים באותה קטגוריה של Cloud Storage. כשמריצים את העבודה, מציינים דלי ולא קובץ ספציפי. הקטלוג האוניברסלי של Dataplex מייבא מטא-נתונים מכל הקבצים שנשמרים בדלי, כולל קבצים שנמצאים בתיקיות משנה.

הפעלת משימה של ייבוא מטא-נתונים

אחרי שיוצרים קובץ לייבוא מטא-נתונים, מריצים את משימת ייבוא המטא-נתונים.

C#‎

C#

לפני שמנסים את הדוגמה הזו, צריך לפעול לפי הוראות ההגדרה C#במדריך למתחילים בנושא Dataplex Universal Catalog באמצעות ספריות לקוח. מידע נוסף מופיע במאמרי העזרה של Dataplex Universal Catalog C# API.

כדי לבצע אימות ב-Dataplex Universal Catalog, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.

using Google.Api.Gax.ResourceNames;
using Google.Cloud.Dataplex.V1;
using Google.LongRunning;

public sealed partial class GeneratedCatalogServiceClientSnippets
{
    /// <summary>Snippet for CreateMetadataJob</summary>
    /// <remarks>
    /// This snippet has been automatically generated and should be regarded as a code template only.
    /// It will require modifications to work:
    /// - It may require correct/in-range values for request initialization.
    /// - It may require specifying regional endpoints when creating the service client as shown in
    ///   https://cloud.google.com/dotnet/docs/reference/help/client-configuration#endpoint.
    /// </remarks>
    public void CreateMetadataJobRequestObject()
    {
        // Create client
        CatalogServiceClient catalogServiceClient = CatalogServiceClient.Create();
        // Initialize request argument(s)
        CreateMetadataJobRequest request = new CreateMetadataJobRequest
        {
            ParentAsLocationName = LocationName.FromProjectLocation("[PROJECT]", "[LOCATION]"),
            MetadataJob = new MetadataJob(),
            MetadataJobId = "",
            ValidateOnly = false,
        };
        // Make the request
        Operation<MetadataJob, OperationMetadata> response = catalogServiceClient.CreateMetadataJob(request);

        // Poll until the returned long-running operation is complete
        Operation<MetadataJob, OperationMetadata> completedResponse = response.PollUntilCompleted();
        // Retrieve the operation result
        MetadataJob result = completedResponse.Result;

        // Or get the name of the operation
        string operationName = response.Name;
        // This name can be stored, then the long-running operation retrieved later by name
        Operation<MetadataJob, OperationMetadata> retrievedResponse = catalogServiceClient.PollOnceCreateMetadataJob(operationName);
        // Check if the retrieved long-running operation has completed
        if (retrievedResponse.IsCompleted)
        {
            // If it has completed, then access the result
            MetadataJob retrievedResult = retrievedResponse.Result;
        }
    }
}

Go

Go

לפני שמנסים את הדוגמה הזו, צריך לפעול לפי הוראות ההגדרה Goבמדריך למתחילים בנושא Dataplex Universal Catalog באמצעות ספריות לקוח. מידע נוסף מופיע במאמרי העזרה של Dataplex Universal Catalog Go API.

כדי לבצע אימות ב-Dataplex Universal Catalog, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.


package main

import (
	"context"

	dataplex "cloud.google.com/go/dataplex/apiv1"
	dataplexpb "cloud.google.com/go/dataplex/apiv1/dataplexpb"
)

func main() {
	ctx := context.Background()
	// This snippet has been automatically generated and should be regarded as a code template only.
	// It will require modifications to work:
	// - It may require correct/in-range values for request initialization.
	// - It may require specifying regional endpoints when creating the service client as shown in:
	//   https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options
	c, err := dataplex.NewCatalogClient(ctx)
	if err != nil {
		// TODO: Handle error.
	}
	defer c.Close()

	req := &dataplexpb.CreateMetadataJobRequest{
		// TODO: Fill request struct fields.
		// See https://pkg.go.dev/cloud.google.com/go/dataplex/apiv1/dataplexpb#CreateMetadataJobRequest.
	}
	op, err := c.CreateMetadataJob(ctx, req)
	if err != nil {
		// TODO: Handle error.
	}

	resp, err := op.Wait(ctx)
	if err != nil {
		// TODO: Handle error.
	}
	// TODO: Use resp.
	_ = resp
}

Java

Java

לפני שמנסים את הדוגמה הזו, צריך לפעול לפי הוראות ההגדרה Javaבמדריך למתחילים בנושא Dataplex Universal Catalog באמצעות ספריות לקוח. מידע נוסף מופיע במאמרי העזרה של Dataplex Universal Catalog Java API.

כדי לבצע אימות ב-Dataplex Universal Catalog, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.

import com.google.cloud.dataplex.v1.CatalogServiceClient;
import com.google.cloud.dataplex.v1.CreateMetadataJobRequest;
import com.google.cloud.dataplex.v1.LocationName;
import com.google.cloud.dataplex.v1.MetadataJob;

public class SyncCreateMetadataJob {

  public static void main(String[] args) throws Exception {
    syncCreateMetadataJob();
  }

  public static void syncCreateMetadataJob() throws Exception {
    // This snippet has been automatically generated and should be regarded as a code template only.
    // It will require modifications to work:
    // - It may require correct/in-range values for request initialization.
    // - It may require specifying regional endpoints when creating the service client as shown in
    // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
    try (CatalogServiceClient catalogServiceClient = CatalogServiceClient.create()) {
      CreateMetadataJobRequest request =
          CreateMetadataJobRequest.newBuilder()
              .setParent(LocationName.of("[PROJECT]", "[LOCATION]").toString())
              .setMetadataJob(MetadataJob.newBuilder().build())
              .setMetadataJobId("metadataJobId-2021530679")
              .setValidateOnly(true)
              .build();
      MetadataJob response = catalogServiceClient.createMetadataJobAsync(request).get();
    }
  }
}

Python

Python

לפני שמנסים את הדוגמה הזו, צריך לפעול לפי הוראות ההגדרה Pythonבמדריך למתחילים בנושא Dataplex Universal Catalog באמצעות ספריות לקוח. מידע נוסף מופיע במאמרי העזרה של Dataplex Universal Catalog Python API.

כדי לבצע אימות ב-Dataplex Universal Catalog, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.

# This snippet has been automatically generated and should be regarded as a
# code template only.
# It will require modifications to work:
# - It may require correct/in-range values for request initialization.
# - It may require specifying regional endpoints when creating the service
#   client as shown in:
#   https://googleapis.dev/python/google-api-core/latest/client_options.html
from google.cloud import dataplex_v1


def sample_create_metadata_job():
    # Create a client
    client = dataplex_v1.CatalogServiceClient()

    # Initialize request argument(s)
    metadata_job = dataplex_v1.MetadataJob()
    metadata_job.import_spec.scope.entry_groups = [
        "entry_groups_value1",
        "entry_groups_value2",
    ]
    metadata_job.import_spec.scope.entry_types = [
        "entry_types_value1",
        "entry_types_value2",
    ]
    metadata_job.import_spec.entry_sync_mode = "NONE"
    metadata_job.import_spec.aspect_sync_mode = "NONE"
    metadata_job.type_ = "EXPORT"

    request = dataplex_v1.CreateMetadataJobRequest(
        parent="parent_value",
        metadata_job=metadata_job,
    )

    # Make the request
    operation = client.create_metadata_job(request=request)

    print("Waiting for operation to complete...")

    response = operation.result()

    # Handle the response
    print(response)

Ruby

Ruby

לפני שמנסים את הדוגמה הזו, צריך לפעול לפי הוראות ההגדרה Rubyבמדריך למתחילים בנושא Dataplex Universal Catalog באמצעות ספריות לקוח. מידע נוסף מופיע במאמרי העזרה של Dataplex Universal Catalog Ruby API.

כדי לבצע אימות ב-Dataplex Universal Catalog, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.

require "google/cloud/dataplex/v1"

##
# Snippet for the create_metadata_job call in the CatalogService service
#
# This snippet has been automatically generated and should be regarded as a code
# template only. It will require modifications to work:
# - It may require correct/in-range values for request initialization.
# - It may require specifying regional endpoints when creating the service
# client as shown in https://cloud.google.com/ruby/docs/reference.
#
# This is an auto-generated example demonstrating basic usage of
# Google::Cloud::Dataplex::V1::CatalogService::Client#create_metadata_job.
#
def create_metadata_job
  # Create a client object. The client can be reused for multiple calls.
  client = Google::Cloud::Dataplex::V1::CatalogService::Client.new

  # Create a request. To set request fields, pass in keyword arguments.
  request = Google::Cloud::Dataplex::V1::CreateMetadataJobRequest.new

  # Call the create_metadata_job method.
  result = client.create_metadata_job request

  # The returned object is of type Gapic::Operation. You can use it to
  # check the status of an operation, cancel it, or wait for results.
  # Here is how to wait for a response.
  result.wait_until_done! timeout: 60
  if result.response?
    p result.response
  else
    puts "No response received."
  end
end

REST

כדי לייבא מטא-נתונים, משתמשים ב-metadataJobs.create method.

לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:

  • PROJECT_NUMBER: מספר הפרויקט או מזהה הפרויקט ב- Google Cloud .
  • LOCATION_ID: Google Cloud המיקום, למשל us-central1.
  • METADATA_JOB_ID: אופציונלי. מזהה משימת המטא-נתונים.
  • CLOUD_STORAGE_URI: ה-URI של קטגוריית Cloud Storage או התיקייה שמכילות את קובצי ייבוא המטא-נתונים. מידע נוסף על הדרישות בנוגע לקובץ זמין במאמר קובץ לייבוא מטא-נתונים.

  • ENTRY_GROUP: שם המשאב היחסי של קבוצות הרשומות שנכללות בהיקף של העבודה, בפורמט projects/PROJECT_ID_OR_NUMBER/locations/LOCATION_ID/entryGroups/ENTRY_GROUP_ID. מידע נוסף מופיע במאמר בנושא היקף העבודה.
  • ENTRY_TYPE: שם המשאב היחסי של סוג רשומה שנמצא בהיקף של העבודה, בפורמט projects/PROJECT_ID_OR_NUMBER/locations/LOCATION_ID/entryTypes/ENTRY_TYPE_ID. מידע נוסף מופיע במאמר בנושא היקף העבודה.

  • ASPECT_TYPE: שם המשאב היחסי של סוג היבט שנמצא בהיקף של העבודה, בפורמט projects/PROJECT_ID_OR_NUMBER/locations/LOCATION_ID/aspectTypes/ASPECT_TYPE_ID. אופציונלי כשיוצרים משימת סנכרון של רשומה מלאה, חובה כשיוצרים משימה של היבט בלבד. מידע נוסף מופיע במאמר בנושא היקף העבודה.
  • ENTRY_SYNC_MODE: מצב הסנכרון של הרשומה, למשל FULL או NONE. מידע נוסף זמין במאמר בנושא מצב סנכרון.
  • LOG_LEVEL: רמת היומנים שרוצים לתעד, למשל INFO או DEBUG. מידע נוסף מופיע במאמר בנושא צפייה ביומני עבודות ופתרון בעיות.

ה-method של ה-HTTP וכתובת ה-URL:

POST https://dataplex.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/metadataJobs?metadataJobId=METADATA_JOB_ID

תוכן בקשת JSON:

{
  "type": "IMPORT",
  "import_spec": {
    "source_storage_uri": "gs://CLOUD_STORAGE_URI/",
    "scope": {
      "entryGroups": [
        "ENTRY_GROUP"
      ],
      "entry_types": [
        "ENTRY_TYPE"
      ],
      "aspect_types": [
        "ASPECT_TYPE"
      ]
    },
    "entry_sync_mode": "ENTRY_SYNC_MODE",
    "aspect_sync_mode": "INCREMENTAL",
    "log_level": "LOG_LEVEL"
  }
}

כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:

התגובה מזהה פעולה ממושכת.

איך רואים פרטים על משימת מטא-נתונים

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

C#‎

C#

לפני שמנסים את הדוגמה הזו, צריך לפעול לפי הוראות ההגדרה C#במדריך למתחילים בנושא Dataplex Universal Catalog באמצעות ספריות לקוח. מידע נוסף מופיע במאמרי העזרה של Dataplex Universal Catalog C# API.

כדי לבצע אימות ב-Dataplex Universal Catalog, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.

using Google.Cloud.Dataplex.V1;

public sealed partial class GeneratedCatalogServiceClientSnippets
{
    /// <summary>Snippet for GetMetadataJob</summary>
    /// <remarks>
    /// This snippet has been automatically generated and should be regarded as a code template only.
    /// It will require modifications to work:
    /// - It may require correct/in-range values for request initialization.
    /// - It may require specifying regional endpoints when creating the service client as shown in
    ///   https://cloud.google.com/dotnet/docs/reference/help/client-configuration#endpoint.
    /// </remarks>
    public void GetMetadataJobRequestObject()
    {
        // Create client
        CatalogServiceClient catalogServiceClient = CatalogServiceClient.Create();
        // Initialize request argument(s)
        GetMetadataJobRequest request = new GetMetadataJobRequest
        {
            MetadataJobName = MetadataJobName.FromProjectLocationMetadataJob("[PROJECT]", "[LOCATION]", "[METADATAJOB]"),
        };
        // Make the request
        MetadataJob response = catalogServiceClient.GetMetadataJob(request);
    }
}

Go

Go

לפני שמנסים את הדוגמה הזו, צריך לפעול לפי הוראות ההגדרה Goבמדריך למתחילים בנושא Dataplex Universal Catalog באמצעות ספריות לקוח. מידע נוסף מופיע במאמרי העזרה של Dataplex Universal Catalog Go API.

כדי לבצע אימות ב-Dataplex Universal Catalog, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.


package main

import (
	"context"

	dataplex "cloud.google.com/go/dataplex/apiv1"
	dataplexpb "cloud.google.com/go/dataplex/apiv1/dataplexpb"
)

func main() {
	ctx := context.Background()
	// This snippet has been automatically generated and should be regarded as a code template only.
	// It will require modifications to work:
	// - It may require correct/in-range values for request initialization.
	// - It may require specifying regional endpoints when creating the service client as shown in:
	//   https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options
	c, err := dataplex.NewCatalogClient(ctx)
	if err != nil {
		// TODO: Handle error.
	}
	defer c.Close()

	req := &dataplexpb.GetMetadataJobRequest{
		// TODO: Fill request struct fields.
		// See https://pkg.go.dev/cloud.google.com/go/dataplex/apiv1/dataplexpb#GetMetadataJobRequest.
	}
	resp, err := c.GetMetadataJob(ctx, req)
	if err != nil {
		// TODO: Handle error.
	}
	// TODO: Use resp.
	_ = resp
}

Java

Java

לפני שמנסים את הדוגמה הזו, צריך לפעול לפי הוראות ההגדרה Javaבמדריך למתחילים בנושא Dataplex Universal Catalog באמצעות ספריות לקוח. מידע נוסף מופיע במאמרי העזרה של Dataplex Universal Catalog Java API.

כדי לבצע אימות ב-Dataplex Universal Catalog, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.

import com.google.cloud.dataplex.v1.CatalogServiceClient;
import com.google.cloud.dataplex.v1.GetMetadataJobRequest;
import com.google.cloud.dataplex.v1.MetadataJob;
import com.google.cloud.dataplex.v1.MetadataJobName;

public class SyncGetMetadataJob {

  public static void main(String[] args) throws Exception {
    syncGetMetadataJob();
  }

  public static void syncGetMetadataJob() throws Exception {
    // This snippet has been automatically generated and should be regarded as a code template only.
    // It will require modifications to work:
    // - It may require correct/in-range values for request initialization.
    // - It may require specifying regional endpoints when creating the service client as shown in
    // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
    try (CatalogServiceClient catalogServiceClient = CatalogServiceClient.create()) {
      GetMetadataJobRequest request =
          GetMetadataJobRequest.newBuilder()
              .setName(MetadataJobName.of("[PROJECT]", "[LOCATION]", "[METADATAJOB]").toString())
              .build();
      MetadataJob response = catalogServiceClient.getMetadataJob(request);
    }
  }
}

Python

Python

לפני שמנסים את הדוגמה הזו, צריך לפעול לפי הוראות ההגדרה Pythonבמדריך למתחילים בנושא Dataplex Universal Catalog באמצעות ספריות לקוח. מידע נוסף מופיע במאמרי העזרה של Dataplex Universal Catalog Python API.

כדי לבצע אימות ב-Dataplex Universal Catalog, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.

# This snippet has been automatically generated and should be regarded as a
# code template only.
# It will require modifications to work:
# - It may require correct/in-range values for request initialization.
# - It may require specifying regional endpoints when creating the service
#   client as shown in:
#   https://googleapis.dev/python/google-api-core/latest/client_options.html
from google.cloud import dataplex_v1


def sample_get_metadata_job():
    # Create a client
    client = dataplex_v1.CatalogServiceClient()

    # Initialize request argument(s)
    request = dataplex_v1.GetMetadataJobRequest(
        name="name_value",
    )

    # Make the request
    response = client.get_metadata_job(request=request)

    # Handle the response
    print(response)

Ruby

Ruby

לפני שמנסים את הדוגמה הזו, צריך לפעול לפי הוראות ההגדרה Rubyבמדריך למתחילים בנושא Dataplex Universal Catalog באמצעות ספריות לקוח. מידע נוסף מופיע במאמרי העזרה של Dataplex Universal Catalog Ruby API.

כדי לבצע אימות ב-Dataplex Universal Catalog, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.

require "google/cloud/dataplex/v1"

##
# Snippet for the get_metadata_job call in the CatalogService service
#
# This snippet has been automatically generated and should be regarded as a code
# template only. It will require modifications to work:
# - It may require correct/in-range values for request initialization.
# - It may require specifying regional endpoints when creating the service
# client as shown in https://cloud.google.com/ruby/docs/reference.
#
# This is an auto-generated example demonstrating basic usage of
# Google::Cloud::Dataplex::V1::CatalogService::Client#get_metadata_job.
#
def get_metadata_job
  # Create a client object. The client can be reused for multiple calls.
  client = Google::Cloud::Dataplex::V1::CatalogService::Client.new

  # Create a request. To set request fields, pass in keyword arguments.
  request = Google::Cloud::Dataplex::V1::GetMetadataJobRequest.new

  # Call the get_metadata_job method.
  result = client.get_metadata_job request

  # The returned object is of type Google::Cloud::Dataplex::V1::MetadataJob.
  p result
end

REST

כדי לקבל מידע על משימת מטא-נתונים, משתמשים בשיטה metadataJobs.get.

קבלת רשימה של משימות מטא-נתונים

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

C#‎

C#

לפני שמנסים את הדוגמה הזו, צריך לפעול לפי הוראות ההגדרה C#במדריך למתחילים בנושא Dataplex Universal Catalog באמצעות ספריות לקוח. מידע נוסף מופיע במאמרי העזרה של Dataplex Universal Catalog C# API.

כדי לבצע אימות ב-Dataplex Universal Catalog, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.

using Google.Api.Gax;
using Google.Api.Gax.ResourceNames;
using Google.Cloud.Dataplex.V1;
using System;

public sealed partial class GeneratedCatalogServiceClientSnippets
{
    /// <summary>Snippet for ListMetadataJobs</summary>
    /// <remarks>
    /// This snippet has been automatically generated and should be regarded as a code template only.
    /// It will require modifications to work:
    /// - It may require correct/in-range values for request initialization.
    /// - It may require specifying regional endpoints when creating the service client as shown in
    ///   https://cloud.google.com/dotnet/docs/reference/help/client-configuration#endpoint.
    /// </remarks>
    public void ListMetadataJobsRequestObject()
    {
        // Create client
        CatalogServiceClient catalogServiceClient = CatalogServiceClient.Create();
        // Initialize request argument(s)
        ListMetadataJobsRequest request = new ListMetadataJobsRequest
        {
            ParentAsLocationName = LocationName.FromProjectLocation("[PROJECT]", "[LOCATION]"),
            Filter = "",
            OrderBy = "",
        };
        // Make the request
        PagedEnumerable<ListMetadataJobsResponse, MetadataJob> response = catalogServiceClient.ListMetadataJobs(request);

        // Iterate over all response items, lazily performing RPCs as required
        foreach (MetadataJob item in response)
        {
            // Do something with each item
            Console.WriteLine(item);
        }

        // Or iterate over pages (of server-defined size), performing one RPC per page
        foreach (ListMetadataJobsResponse page in response.AsRawResponses())
        {
            // Do something with each page of items
            Console.WriteLine("A page of results:");
            foreach (MetadataJob item in page)
            {
                // Do something with each item
                Console.WriteLine(item);
            }
        }

        // Or retrieve a single page of known size (unless it's the final page), performing as many RPCs as required
        int pageSize = 10;
        Page<MetadataJob> singlePage = response.ReadPage(pageSize);
        // Do something with the page of items
        Console.WriteLine($"A page of {pageSize} results (unless it's the final page):");
        foreach (MetadataJob item in singlePage)
        {
            // Do something with each item
            Console.WriteLine(item);
        }
        // Store the pageToken, for when the next page is required.
        string nextPageToken = singlePage.NextPageToken;
    }
}

Go

Go

לפני שמנסים את הדוגמה הזו, צריך לפעול לפי הוראות ההגדרה Goבמדריך למתחילים בנושא Dataplex Universal Catalog באמצעות ספריות לקוח. מידע נוסף מופיע במאמרי העזרה של Dataplex Universal Catalog Go API.

כדי לבצע אימות ב-Dataplex Universal Catalog, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.


package main

import (
	"context"

	dataplex "cloud.google.com/go/dataplex/apiv1"
	dataplexpb "cloud.google.com/go/dataplex/apiv1/dataplexpb"
	"google.golang.org/api/iterator"
)

func main() {
	ctx := context.Background()
	// This snippet has been automatically generated and should be regarded as a code template only.
	// It will require modifications to work:
	// - It may require correct/in-range values for request initialization.
	// - It may require specifying regional endpoints when creating the service client as shown in:
	//   https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options
	c, err := dataplex.NewCatalogClient(ctx)
	if err != nil {
		// TODO: Handle error.
	}
	defer c.Close()

	req := &dataplexpb.ListMetadataJobsRequest{
		// TODO: Fill request struct fields.
		// See https://pkg.go.dev/cloud.google.com/go/dataplex/apiv1/dataplexpb#ListMetadataJobsRequest.
	}
	it := c.ListMetadataJobs(ctx, req)
	for {
		resp, err := it.Next()
		if err == iterator.Done {
			break
		}
		if err != nil {
			// TODO: Handle error.
		}
		// TODO: Use resp.
		_ = resp

		// If you need to access the underlying RPC response,
		// you can do so by casting the `Response` as below.
		// Otherwise, remove this line. Only populated after
		// first call to Next(). Not safe for concurrent access.
		_ = it.Response.(*dataplexpb.ListMetadataJobsResponse)
	}
}

Java

Java

לפני שמנסים את הדוגמה הזו, צריך לפעול לפי הוראות ההגדרה Javaבמדריך למתחילים בנושא Dataplex Universal Catalog באמצעות ספריות לקוח. מידע נוסף מופיע במאמרי העזרה של Dataplex Universal Catalog Java API.

כדי לבצע אימות ב-Dataplex Universal Catalog, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.

import com.google.cloud.dataplex.v1.CatalogServiceClient;
import com.google.cloud.dataplex.v1.ListMetadataJobsRequest;
import com.google.cloud.dataplex.v1.LocationName;
import com.google.cloud.dataplex.v1.MetadataJob;

public class SyncListMetadataJobs {

  public static void main(String[] args) throws Exception {
    syncListMetadataJobs();
  }

  public static void syncListMetadataJobs() throws Exception {
    // This snippet has been automatically generated and should be regarded as a code template only.
    // It will require modifications to work:
    // - It may require correct/in-range values for request initialization.
    // - It may require specifying regional endpoints when creating the service client as shown in
    // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
    try (CatalogServiceClient catalogServiceClient = CatalogServiceClient.create()) {
      ListMetadataJobsRequest request =
          ListMetadataJobsRequest.newBuilder()
              .setParent(LocationName.of("[PROJECT]", "[LOCATION]").toString())
              .setPageSize(883849137)
              .setPageToken("pageToken873572522")
              .setFilter("filter-1274492040")
              .setOrderBy("orderBy-1207110587")
              .build();
      for (MetadataJob element : catalogServiceClient.listMetadataJobs(request).iterateAll()) {
        // doThingsWith(element);
      }
    }
  }
}

Python

Python

לפני שמנסים את הדוגמה הזו, צריך לפעול לפי הוראות ההגדרה Pythonבמדריך למתחילים בנושא Dataplex Universal Catalog באמצעות ספריות לקוח. מידע נוסף מופיע במאמרי העזרה של Dataplex Universal Catalog Python API.

כדי לבצע אימות ב-Dataplex Universal Catalog, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.

# This snippet has been automatically generated and should be regarded as a
# code template only.
# It will require modifications to work:
# - It may require correct/in-range values for request initialization.
# - It may require specifying regional endpoints when creating the service
#   client as shown in:
#   https://googleapis.dev/python/google-api-core/latest/client_options.html
from google.cloud import dataplex_v1


def sample_list_metadata_jobs():
    # Create a client
    client = dataplex_v1.CatalogServiceClient()

    # Initialize request argument(s)
    request = dataplex_v1.ListMetadataJobsRequest(
        parent="parent_value",
    )

    # Make the request
    page_result = client.list_metadata_jobs(request=request)

    # Handle the response
    for response in page_result:
        print(response)

Ruby

Ruby

לפני שמנסים את הדוגמה הזו, צריך לפעול לפי הוראות ההגדרה Rubyבמדריך למתחילים בנושא Dataplex Universal Catalog באמצעות ספריות לקוח. מידע נוסף מופיע במאמרי העזרה של Dataplex Universal Catalog Ruby API.

כדי לבצע אימות ב-Dataplex Universal Catalog, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.

require "google/cloud/dataplex/v1"

##
# Snippet for the list_metadata_jobs call in the CatalogService service
#
# This snippet has been automatically generated and should be regarded as a code
# template only. It will require modifications to work:
# - It may require correct/in-range values for request initialization.
# - It may require specifying regional endpoints when creating the service
# client as shown in https://cloud.google.com/ruby/docs/reference.
#
# This is an auto-generated example demonstrating basic usage of
# Google::Cloud::Dataplex::V1::CatalogService::Client#list_metadata_jobs.
#
def list_metadata_jobs
  # Create a client object. The client can be reused for multiple calls.
  client = Google::Cloud::Dataplex::V1::CatalogService::Client.new

  # Create a request. To set request fields, pass in keyword arguments.
  request = Google::Cloud::Dataplex::V1::ListMetadataJobsRequest.new

  # Call the list_metadata_jobs method.
  result = client.list_metadata_jobs request

  # The returned object is of type Gapic::PagedEnumerable. You can iterate
  # over elements, and API calls will be issued to fetch pages as needed.
  result.each do |item|
    # Each element is of type ::Google::Cloud::Dataplex::V1::MetadataJob.
    p item
  end
end

REST

כדי לקבל רשימה של משימות המטא-נתונים האחרונות, משתמשים בשיטה metadataJobs.list.

ביטול של משימת מטא-נתונים

אפשר לבטל משימת מטא-נתונים שלא רוצים להריץ.

C#‎

C#

לפני שמנסים את הדוגמה הזו, צריך לפעול לפי הוראות ההגדרה C#במדריך למתחילים בנושא Dataplex Universal Catalog באמצעות ספריות לקוח. מידע נוסף מופיע במאמרי העזרה של Dataplex Universal Catalog C# API.

כדי לבצע אימות ב-Dataplex Universal Catalog, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.

using Google.Cloud.Dataplex.V1;

public sealed partial class GeneratedCatalogServiceClientSnippets
{
    /// <summary>Snippet for CancelMetadataJob</summary>
    /// <remarks>
    /// This snippet has been automatically generated and should be regarded as a code template only.
    /// It will require modifications to work:
    /// - It may require correct/in-range values for request initialization.
    /// - It may require specifying regional endpoints when creating the service client as shown in
    ///   https://cloud.google.com/dotnet/docs/reference/help/client-configuration#endpoint.
    /// </remarks>
    public void CancelMetadataJobRequestObject()
    {
        // Create client
        CatalogServiceClient catalogServiceClient = CatalogServiceClient.Create();
        // Initialize request argument(s)
        CancelMetadataJobRequest request = new CancelMetadataJobRequest
        {
            MetadataJobName = MetadataJobName.FromProjectLocationMetadataJob("[PROJECT]", "[LOCATION]", "[METADATAJOB]"),
        };
        // Make the request
        catalogServiceClient.CancelMetadataJob(request);
    }
}

Go

Go

לפני שמנסים את הדוגמה הזו, צריך לפעול לפי הוראות ההגדרה Goבמדריך למתחילים בנושא Dataplex Universal Catalog באמצעות ספריות לקוח. מידע נוסף מופיע במאמרי העזרה של Dataplex Universal Catalog Go API.

כדי לבצע אימות ב-Dataplex Universal Catalog, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.


package main

import (
	"context"

	dataplex "cloud.google.com/go/dataplex/apiv1"
	dataplexpb "cloud.google.com/go/dataplex/apiv1/dataplexpb"
)

func main() {
	ctx := context.Background()
	// This snippet has been automatically generated and should be regarded as a code template only.
	// It will require modifications to work:
	// - It may require correct/in-range values for request initialization.
	// - It may require specifying regional endpoints when creating the service client as shown in:
	//   https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options
	c, err := dataplex.NewCatalogClient(ctx)
	if err != nil {
		// TODO: Handle error.
	}
	defer c.Close()

	req := &dataplexpb.CancelMetadataJobRequest{
		// TODO: Fill request struct fields.
		// See https://pkg.go.dev/cloud.google.com/go/dataplex/apiv1/dataplexpb#CancelMetadataJobRequest.
	}
	err = c.CancelMetadataJob(ctx, req)
	if err != nil {
		// TODO: Handle error.
	}
}

Java

Java

לפני שמנסים את הדוגמה הזו, צריך לפעול לפי הוראות ההגדרה Javaבמדריך למתחילים בנושא Dataplex Universal Catalog באמצעות ספריות לקוח. מידע נוסף מופיע במאמרי העזרה של Dataplex Universal Catalog Java API.

כדי לבצע אימות ב-Dataplex Universal Catalog, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.

import com.google.cloud.dataplex.v1.CancelMetadataJobRequest;
import com.google.cloud.dataplex.v1.CatalogServiceClient;
import com.google.cloud.dataplex.v1.MetadataJobName;
import com.google.protobuf.Empty;

public class SyncCancelMetadataJob {

  public static void main(String[] args) throws Exception {
    syncCancelMetadataJob();
  }

  public static void syncCancelMetadataJob() throws Exception {
    // This snippet has been automatically generated and should be regarded as a code template only.
    // It will require modifications to work:
    // - It may require correct/in-range values for request initialization.
    // - It may require specifying regional endpoints when creating the service client as shown in
    // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
    try (CatalogServiceClient catalogServiceClient = CatalogServiceClient.create()) {
      CancelMetadataJobRequest request =
          CancelMetadataJobRequest.newBuilder()
              .setName(MetadataJobName.of("[PROJECT]", "[LOCATION]", "[METADATAJOB]").toString())
              .build();
      catalogServiceClient.cancelMetadataJob(request);
    }
  }
}

Python

Python

לפני שמנסים את הדוגמה הזו, צריך לפעול לפי הוראות ההגדרה Pythonבמדריך למתחילים בנושא Dataplex Universal Catalog באמצעות ספריות לקוח. מידע נוסף מופיע במאמרי העזרה של Dataplex Universal Catalog Python API.

כדי לבצע אימות ב-Dataplex Universal Catalog, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.

# This snippet has been automatically generated and should be regarded as a
# code template only.
# It will require modifications to work:
# - It may require correct/in-range values for request initialization.
# - It may require specifying regional endpoints when creating the service
#   client as shown in:
#   https://googleapis.dev/python/google-api-core/latest/client_options.html
from google.cloud import dataplex_v1


def sample_cancel_metadata_job():
    # Create a client
    client = dataplex_v1.CatalogServiceClient()

    # Initialize request argument(s)
    request = dataplex_v1.CancelMetadataJobRequest(
        name="name_value",
    )

    # Make the request
    client.cancel_metadata_job(request=request)

Ruby

Ruby

לפני שמנסים את הדוגמה הזו, צריך לפעול לפי הוראות ההגדרה Rubyבמדריך למתחילים בנושא Dataplex Universal Catalog באמצעות ספריות לקוח. מידע נוסף מופיע במאמרי העזרה של Dataplex Universal Catalog Ruby API.

כדי לבצע אימות ב-Dataplex Universal Catalog, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.

require "google/cloud/dataplex/v1"

##
# Snippet for the cancel_metadata_job call in the CatalogService service
#
# This snippet has been automatically generated and should be regarded as a code
# template only. It will require modifications to work:
# - It may require correct/in-range values for request initialization.
# - It may require specifying regional endpoints when creating the service
# client as shown in https://cloud.google.com/ruby/docs/reference.
#
# This is an auto-generated example demonstrating basic usage of
# Google::Cloud::Dataplex::V1::CatalogService::Client#cancel_metadata_job.
#
def cancel_metadata_job
  # Create a client object. The client can be reused for multiple calls.
  client = Google::Cloud::Dataplex::V1::CatalogService::Client.new

  # Create a request. To set request fields, pass in keyword arguments.
  request = Google::Cloud::Dataplex::V1::CancelMetadataJobRequest.new

  # Call the cancel_metadata_job method.
  result = client.cancel_metadata_job request

  # The returned object is of type Google::Protobuf::Empty.
  p result
end

REST

כדי לבטל משימת מטא-נתונים, משתמשים בשיטה metadataJobs.cancel.

צפייה ביומני משרות ופתרון בעיות

אפשר להשתמש ב-Cloud Logging כדי להציג יומנים של משימת מטא-נתונים. מידע נוסף זמין במאמר בנושא מעקב אחרי יומנים של Dataplex Universal Catalog.

מגדירים את רמת היומן כשיוצרים משימת מטא-נתונים. אלה רמות היומן שזמינות:

  • INFO: מספק יומנים ברמת המשימה הכוללת. כולל יומנים מצטברים לגבי פריטי ייבוא, אבל לא מציין לאיזה פריט ייבוא יש שגיאה.
  • DEBUG: מספק יומנים מפורטים לכל פריט ייבוא. אפשר להשתמש ברישום ביומן ברמת ניפוי הבאגים כדי לפתור בעיות שקשורות לפריטי ייבוא ספציפיים. לדוגמה, אפשר להשתמש ברישום ביומן ברמת ניפוי הבאגים כדי לזהות משאבים שחסרים בהיקף המשימה, רשומות או היבטים שלא תואמים לסוג הרשומה או לסוג ההיבט המשויכים, או הגדרות שגויות אחרות בקובץ ייבוא המטא-נתונים.

שגיאות אימות

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

  • FAILED: מתרחשת כשיש שגיאה בקובץ ייבוא המטא-נתונים. המערכת לא מייבאת מטא-נתונים מ-Dataplex Universal Catalog והמשימה נכשלת. דוגמאות לשגיאות בקובץ ייבוא המטא-נתונים:
    • אי אפשר לנתח פריט בקובץ לפריט ייבוא תקין
    • רשומה או היבט בקובץ שייכים לקבוצת רשומות, לסוג רשומה או לסוג היבט שלא נכללים בהיקף העבודה
    • אותו שם רשומה מצוין יותר מפעם אחת בעבודה
    • סוג מאפיין שצוין במיפוי מאפיינים או במפתחות מאפיינים לא תואם לפורמט PROJECT_ID_OR_NUMBER.LOCATION_ID.ASPECT_TYPE_ID@OPTIONAL_PATH
    • היבט חובה מסומן למחיקה
  • SUCCEEDED_WITH_ERRORS: מתרחש כשניתן לנתח את קובץ ייבוא המטא-נתונים, אבל ייבוא פריט בקובץ יגרום לכך שרשומה בפרויקט תהיה במצב לא עקבי. ‫Dataplex Universal Catalog מתעלם מנתונים כאלה, אבל מייבא את שאר המטא-נתונים מהקובץ.

אפשר להשתמש ביומני המשימות כדי לפתור את השגיאה.

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