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

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

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

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

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

השלבים העיקריים

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

איך יוצרים משאבים ב- Google Cloud

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

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

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

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

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

היקף המשרה

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

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

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

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

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

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

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

מצב סנכרון

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

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

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

אם רשומה קיימת ב-Knowledge 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: מידע על רשומה וההיבטים שמצורפים אליה. במשימת ייבוא של מטא-נתונים של היבטים בלבד, Knowledge 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. הגודל המקסימלי של השדה הוא 120KB. חובה להשתמש במילון data, גם אם הוא ריק.

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

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

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

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

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

    במשימת סנכרון מלאה של רשומות, Knowledge Catalog כולל את הנתיבים של כל השדות של רשומה שאפשר לשנות, כולל aspects. המערכת מתעלמת מהשדה 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.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

משימה שמתמקדת רק בהיבט מסוים

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

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

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

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

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

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

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

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

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

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

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

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

REST

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

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

  • ‫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/TARGET_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# במדריך למתחילים של Knowledge Catalog באמצעות ספריות לקוח. מידע נוסף מופיע במאמרי העזרה של Knowledge Catalog C# API.

כדי לבצע אימות ב-Knowledge 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 במדריך למתחילים של Knowledge Catalog באמצעות ספריות לקוח. מידע נוסף מופיע במאמרי העזרה של Knowledge Catalog Go API.

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


//go:build examples

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 במדריך למתחילים של Knowledge Catalog באמצעות ספריות לקוח. מידע נוסף מופיע במאמרי העזרה של Knowledge Catalog Java API.

כדי לבצע אימות ב-Knowledge 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);
    }
  }
}

Node.js

Node.js

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

כדי לבצע אימות ב-Knowledge 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.
 * TODO(developer): Uncomment these variables before running the sample.
 */
/**
 *  Required. The resource name of the metadata job, in the format
 *  `projects/{project_id_or_number}/locations/{location_id}/metadataJobs/{metadata_job_id}`.
 */
// const name = 'abc123'

// Imports the Dataplex library
const {CatalogServiceClient} = require('@google-cloud/dataplex').v1;

// Instantiates a client
const dataplexClient = new CatalogServiceClient();

async function callGetMetadataJob() {
  // Construct request
  const request = {
    name,
  };

  // Run request
  const response = await dataplexClient.getMetadataJob(request);
  console.log(response);
}

callGetMetadataJob();

Python

Python

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

כדי לבצע אימות ב-Knowledge 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 במדריך למתחילים של Knowledge Catalog באמצעות ספריות לקוח. מידע נוסף מופיע במאמרי העזרה של Knowledge Catalog Ruby API.

כדי לבצע אימות ב-Knowledge 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

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

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

  • ‫PROJECT_NUMBER: מספר הפרויקט או מזהה הפרויקט ב- Google Cloud .
  • ‫LOCATION_ID: המיקום של Google Cloud , למשל us-central1.
  • ‫METADATA_JOB_ID: מזהה המשימה של המטא-נתונים.

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

GET https://dataplex.googleapis.com/v1/projects/TARGET_PROJECT_NUMBER/locations/LOCATION_ID/metadataJobs/METADATA_JOB_ID

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

אתם אמורים לקבל תגובת JSON שדומה לזו:

{
  "name": "projects/123456789012/locations/us-central1/metadataJobs/my-metadata-job",
  "uid": "a1b2c3d4-e5f6-7a8b-9c0d-1e2f3a4b5c6d",
  "createTime": "2026-07-17T16:30:15Z",
  "updateTime": "2026-07-17T16:35:15Z",
  "type": "IMPORT",
  "importSpec": {
    "sourceStorageUri": "gs://my-bucket/",
    "scope": {
      "entryGroups": [
        "projects/123456789012/locations/us-central1/entryGroups/my-entry-group"
      ],
      "entryTypes": [
        "projects/123456789012/locations/us-central1/entryTypes/my-entry-type"
      ],
      "aspectTypes": [
        "projects/123456789012/locations/us-central1/aspectTypes/my-aspect-type"
      ]
    },
    "entrySyncMode": "FULL",
    "aspectSyncMode": "INCREMENTAL",
    "logLevel": "INFO"
  },
  "status": {
    "state": "SUCCEEDED"
  },
  "importResult": {
    "deletedEntries": "2",
    "updatedEntries": "5",
    "createdEntries": "10",
    "unchangedEntries": "20",
    "updateTime": "2026-07-17T16:35:15Z"
  }
}

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

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

C#‎

C#

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

כדי לבצע אימות ב-Knowledge 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 במדריך למתחילים של Knowledge Catalog באמצעות ספריות לקוח. מידע נוסף מופיע במאמרי העזרה של Knowledge Catalog Go API.

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


//go:build examples

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 במדריך למתחילים של Knowledge Catalog באמצעות ספריות לקוח. מידע נוסף מופיע במאמרי העזרה של Knowledge Catalog Java API.

כדי לבצע אימות ב-Knowledge 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);
      }
    }
  }
}

Node.js

Node.js

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

כדי לבצע אימות ב-Knowledge 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.
 * TODO(developer): Uncomment these variables before running the sample.
 */
/**
 *  Required. The resource name of the parent location, in the format
 *  `projects/{project_id_or_number}/locations/{location_id}`
 */
// const parent = 'abc123'
/**
 *  Optional. The maximum number of metadata jobs to return. The service might
 *  return fewer jobs than this value. If unspecified, at most 10 jobs are
 *  returned. The maximum value is 1,000.
 */
// const pageSize = 1234
/**
 *  Optional. The page token received from a previous `ListMetadataJobs` call.
 *  Provide this token to retrieve the subsequent page of results. When
 *  paginating, all other parameters that are provided to the
 *  `ListMetadataJobs` request must match the call that provided the page
 *  token.
 */
// const pageToken = 'abc123'
/**
 *  Optional. Filter request. Filters are case-sensitive.
 *  The service supports the following formats:
 *  * `labels.key1 = "value1"`
 *  * `labels:key1`
 *  * `name = "value"`
 *  You can combine filters with `AND`, `OR`, and `NOT` operators.
 */
// const filter = 'abc123'
/**
 *  Optional. The field to sort the results by, either `name` or `create_time`.
 *  If not specified, the ordering is undefined.
 */
// const orderBy = 'abc123'

// Imports the Dataplex library
const {CatalogServiceClient} = require('@google-cloud/dataplex').v1;

// Instantiates a client
const dataplexClient = new CatalogServiceClient();

async function callListMetadataJobs() {
  // Construct request
  const request = {
    parent,
  };

  // Run request
  const iterable = dataplexClient.listMetadataJobsAsync(request);
  for await (const response of iterable) {
      console.log(response);
  }
}

callListMetadataJobs();

Python

Python

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

כדי לבצע אימות ב-Knowledge 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 במדריך למתחילים של Knowledge Catalog באמצעות ספריות לקוח. מידע נוסף מופיע במאמרי העזרה של Knowledge Catalog Ruby API.

כדי לבצע אימות ב-Knowledge 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# במדריך למתחילים של Knowledge Catalog באמצעות ספריות לקוח. מידע נוסף מופיע במאמרי העזרה של Knowledge Catalog C# API.

כדי לבצע אימות ב-Knowledge 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 במדריך למתחילים של Knowledge Catalog באמצעות ספריות לקוח. מידע נוסף מופיע במאמרי העזרה של Knowledge Catalog Go API.

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


//go:build examples

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 במדריך למתחילים של Knowledge Catalog באמצעות ספריות לקוח. מידע נוסף מופיע במאמרי העזרה של Knowledge Catalog Java API.

כדי לבצע אימות ב-Knowledge 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);
    }
  }
}

Node.js

Node.js

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

כדי לבצע אימות ב-Knowledge 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.
 * TODO(developer): Uncomment these variables before running the sample.
 */
/**
 *  Required. The resource name of the job, in the format
 *  `projects/{project_id_or_number}/locations/{location_id}/metadataJobs/{metadata_job_id}`
 */
// const name = 'abc123'

// Imports the Dataplex library
const {CatalogServiceClient} = require('@google-cloud/dataplex').v1;

// Instantiates a client
const dataplexClient = new CatalogServiceClient();

async function callCancelMetadataJob() {
  // Construct request
  const request = {
    name,
  };

  // Run request
  const response = await dataplexClient.cancelMetadataJob(request);
  console.log(response);
}

callCancelMetadataJob();

Python

Python

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

כדי לבצע אימות ב-Knowledge 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 במדריך למתחילים של Knowledge Catalog באמצעות ספריות לקוח. מידע נוסף מופיע במאמרי העזרה של Knowledge Catalog Ruby API.

כדי לבצע אימות ב-Knowledge 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 כדי להציג יומנים של משימת מטא-נתונים. איך עוקבים אחרי היומנים של Knowledge Catalog

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

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

שגיאות אימות

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

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

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

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