ניהול משאבים באמצעות Knowledge Catalog

במאמר הזה מוסבר איך לחפש ולנהל את המשאבים של Spanner באמצעות Knowledge Catalog.

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

מידע על Knowledge Catalog ו-Spanner

ב-Knowledge Catalog, המשאבים ב-Spanner ובשירותים אחרים של Google Cloud נקראים נכסים. ב-Knowledge Catalog, כל נכס ב-Spanner, כמו מכונה, מסד נתונים, טבלה או תצוגה, מיוצג על ידי רשומה בקטלוג שבה מאוחסנים מטא-נתונים טכניים ועסקיים (היבטים) לגבי המשאב.

אתם יכולים להשתמש ב-Knowledge Catalog בתהליכי העבודה הבאים כדי לגלות ולהבין את הנכסים שלכם ב-Spanner:

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

ב-Knowledge Catalog, המטא-נתונים הבאים של משאבי Spanner מקוטלגים באופן אוטומטי:

  • שם המשאב ושם שמוגדר במלואו (FQN)
  • מיקום (אזור)
  • חותמות הזמן של היצירה והשינוי האחרון
  • הגדרות סכימה (לטבלאות ולתצוגות)
  • סוגי הנתונים בעמודה, יכולת ההגדרה כ-null ואינדיקטורים של מפתחות ראשיים
  • תיאורים ותוויות משתמשים

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

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

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

לפני שמשתמשים ב-Knowledge Catalog עם Spanner, צריך לבצע את המשימות הבאות:

  1. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  2. Verify that billing is enabled for your Google Cloud project.

  3. מפעילים את Dataplex API בפרויקט.

    הפעלת Dataplex API

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

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

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

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

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

כדי לנהל נכסי Spanner ב-Knowledge Catalog, נדרשות ההרשאות הבאות:

  • יוצרים סוג היבט: dataplex.aspectTypes.create
  • חיפוש מכונות של Spanner:
    • dataplex.projects.search
    • spanner.instances.get
  • חיפוש מסדי נתונים, טבלאות ותצוגות ב-Spanner:
    • dataplex.projects.search
    • spanner.databases.get
  • הצגת היבטים במכונות של Spanner:
    • dataplex.aspectTypes.get
    • spanner.instances.get
  • הצגת היבטים במסדי נתונים, בטבלאות ובתצוגות של Spanner:
    • dataplex.aspectTypes.get
    • spanner.databases.get
  • מצרפים היבט למשאב Spanner באמצעות סוג היבט:
    • dataplex.aspectTypes.use
    • dataplex.entries.update

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

ב-Knowledge Catalog יש תמיכה בחיפוש סמנטי, שמאפשר למצוא משאבים באמצעות שפה יומיומית, בלי צורך בתחביר חיפוש מורכב. לדוגמה, מזינים שאילתה כמו List all Spanner tables related to sales.

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

כדי לחפש נכסי Spanner ב-Knowledge Catalog:

  1. נכנסים לדף Search של Knowledge Catalog במסוף Google Cloud :

    מעבר לחיפוש

  2. בחלונית Filters, בקטע Systems בוחרים באפשרות Spanner.

    ב-Knowledge Catalog מוצגים כל הנכסים של Spanner שיש לכם גישה אליהם בפרויקטים ב- Google Cloud .

  3. בשדה החיפוש, מזינים שאילתה בשפה טבעית, כמו List all Spanner tables related to sales.

  4. אופציונלי: משתמשים בחיפוש המסונן בדף חיפוש. בוחרים מסננים בקטעים Type,‏ Projects,‏ Locations ו-Aspect types.

  5. אופציונלי: בשדה החיפוש, מוסיפים פרמטר חיפוש אחרי system=spanner. כדי להפריד בין כמה פרמטרים, משתמשים ברווחים או בסוגריים ובאופרטורים הלוגיים AND,‏ OR ו-NOT.

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

    system=spanner type=database
    

    אפשר גם להשתמש ב-type=service כדי לחפש מכונות, או ב-instance_config=CONFIGURATION_NAME כדי לחפש הגדרות אישיות של מכונה.

    לאפשרויות נוספות של שאילתות, ראו תחביר החיפוש של Knowledge Catalog.

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

בדף הפרטים של הרשומה, אתם יכולים:

  • כדי לראות את סיכומי הנכסים ולהוסיף תיאור, עוברים לכרטיסייה Details, ובקטע Overview לוחצים על Add.
  • כדי להציג או לצרף מטא-נתונים תפעוליים ועסקיים, עוברים לכרטיסייה Details, ובקטע Aspects לוחצים על Add ליד Optional aspects.
  • כדי לראות את מסדי הנתונים של המכונה, לוחצים על הכרטיסייה Entry list ואז על Show all children entries in search.
  • כדי לבדוק את סוגי הנתונים, המפתחות וההגדרות של העמודות בטבלה, לוחצים על הכרטיסייה Schema.

תרחיש לדוגמה: פירוט מהמופע לעמודות

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

  1. נכנסים לדף Search של Knowledge Catalog במסוף Google Cloud :

    מעבר לחיפוש

  2. בחלונית Filters, בקטע Systems בוחרים באפשרות Spanner.

  3. כדי לראות את כל מכונות Spanner ב-Knowledge Catalog, מזינים שאילתה בשפה טבעית בשדה החיפוש, כמו List all Spanner instances, ולוחצים על Enter.

  4. בוחרים שם למכונה.

  5. בדף Spanner details, לוחצים על הכרטיסייה Entry list ואז על Show all children entries in search.

    ב-Knowledge Catalog מוצגים מסדי הנתונים במכונה. אם הכרטיסייה Entry list לא מופיעה, חוזרים לדף Search ובוחרים מכונה אחרת.

  6. בוחרים שם למסד הנתונים. בדף Spanner database details, לוחצים על הכרטיסייה Entry list ואז על Show all children entries in search.

    ב-Knowledge Catalog מוצגות הטבלאות במסד הנתונים.

  7. בוחרים שם של טבלה, ובדף Spanner table details לוחצים על Schema כדי לראות את העמודות בטבלה.

  8. אופציונלי: כדי להוסיף היבט לעמודה, בוחרים את העמודה ולוחצים על Add aspect.

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

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

לדוגמה, אתם יכולים לצרף את ההיבט הבא לעמודה שמכילה מספר תעודת זהות, שהוא פרט אישי מזהה (PII):

pii:true
pii_type:SSN

כדי לצרף היבט לנכס Spanner, פועלים לפי השלבים הבאים:

  1. בדף Search של Knowledge Catalog, לוחצים על הנכס שרוצים להעשיר.
  2. בדף הפרטים של הרשומה, בכרטיסייה Details, עוברים לקטע Aspects.
  3. לצד היבטים אופציונליים, לוחצים על הוספה.
  4. מחפשים ובוחרים את סוג ההיבט שרוצים להוסיף, כמו סכימה בהתאמה אישית למשילות מידע או לפרטיות.
  5. בחלון Add aspect, מציינים את שדות ההיבט הנדרשים.
  6. לוחצים על Save.

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

ייצוא וייבוא של היבטים

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

  1. מייצאים את ההיבטים שמשויכים לרשומות בהגדרות של מכונת המקור.
  2. מעבירים את המכונה להגדרת המכונה ביעד.
  3. מייבאים את ההיבטים להגדרת המכונה ביעד.

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

לפני שמעבירים את המכונה, צריך לאחזר את ההיבטים של הרשומות ב-Spanner בהגדרת המכונה במקור באמצעות Google Cloud CLI,‏ Dataplex API או משימת ייצוא של מטא-נתונים:

gcloud

כדי לאחזר את ההיבטים של רשומת Spanner בקבוצת הרשומות של המערכת @spanner, משתמשים בפקודה gcloud dataplex entries lookup:

gcloud dataplex entries lookup SOURCE_ENTRY_ID \
  --entry-group=@spanner \
  --location=LOCATION \
  --project=PROJECT_ID \
  --view=all

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

  • SOURCE_ENTRY_ID: מזהה הרשומה של המשאב ב-Spanner במערך ההגדרות של מכונת המקור.

    איך למצוא את מזהה הרשומה

    כדי למצוא את שם הרשומה או לתרגם שם שמוגדר במלואו (FQN), כמו spanner:PROJECT_ID.INSTANCE_CONFIG_ID.INSTANCE_ID.DATABASE_ID.TABLE_ID, משתמשים בפקודה gcloud dataplex entries search.

  • ‫LOCATION: האזור של הגדרת המכונה של Spanner, למשל us-central1.

  • ‫PROJECT_ID: המזהה של הפרויקט ב- Google Cloud שמכיל את המכונה של Spanner.

‫API בארכיטקטורת REST

כדי לאחזר את ההיבטים של רשומת Spanner בקבוצת הרשומות של המערכת @spanner, שולחים בקשת GET לנקודת הקצה projects.locations.lookupEntry.

curl -X GET \
-H "Authorization: Bearer ACCESS_TOKEN" \
-H "Accept: application/json" \
"https://dataplex.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION:lookupEntry?entry=projects/PROJECT_ID/locations/LOCATION/entryGroups/@spanner/entries/SOURCE_ENTRY_ID&view=ALL"

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

  • ‫ACCESS_TOKEN: טוקן הגישה שבו האפליקציה משתמשת כדי לאמת את הזהות מול השירות. לדוגמה, משתמשים ב-$(gcloud auth print-access-token).

  • ‫PROJECT_ID: מזהה הפרויקט ב- Google Cloud שמכיל את המכונה של Spanner.

  • ‫LOCATION: האזור של הגדרת המכונה של Spanner, למשל us-central1.

  • SOURCE_ENTRY_ID: מזהה הרשומה של המשאב ב-Spanner במערך ההגדרות של מכונת המקור.

    איך למצוא את מזהה הרשומה

    כדי למצוא את שם הרשומה או לתרגם שם שמוגדר במלואו (FQN), כמו spanner:PROJECT_ID.INSTANCE_CONFIG_ID.INSTANCE_ID.DATABASE_ID.TABLE_ID, משתמשים בפקודה gcloud dataplex entries search.

משימת ייצוא

כדי לייצא מטא-נתונים של כמה רשומות באצווה ל-Cloud Storage, מריצים משימת ייצוא של מטא-נתונים.

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

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

  1. מעבירים את המכונה של Spanner להגדרת המכונה ביעד. מחכים שהמטא-נתונים של Spanner במכונה שהועברה יסתנכרנו עם Knowledge Catalog. התהליך יכול להימשך כ-6 שעות.

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

    • בדף Search של Knowledge Catalog, מזינים את השאילתה הבאה:

      system=spanner instance_config=DESTINATION_CONFIG_NAME
      
    • מריצים את הפקודה gcloud dataplex entries search:

      gcloud dataplex entries search "fqn=spanner:PROJECT_ID.DESTINATION_CONFIG_ID.INSTANCE_ID" \
          --project=PROJECT_ID
      

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

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

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

gcloud

כדי לצרף את ההיבטים שהועתקו לרשומה בהגדרת המכונה ביעד, משתמשים בפקודה gcloud dataplex entries update-aspects:

gcloud dataplex entries update-aspects DESTINATION_ENTRY_ID \
  --entry-group=@spanner \
  --location=DESTINATION_LOCATION \
  --project=PROJECT_ID \
  --aspects=ASPECTS_FILE

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

  • ‫DESTINATION_ENTRY_ID: מזהה הרשומה של משאב Spanner שהועבר, בהגדרת המכונה ביעד.

  • ‫DESTINATION_LOCATION: האזור של הגדרת מכונת היעד ב-Spanner, למשל us-central1.

  • ‫PROJECT_ID: המזהה של הפרויקט ב- Google Cloud שמכיל את המכונה של Spanner.

  • ‫ASPECTS_FILE: הנתיב לקובץ JSON או YAML שמכיל את ההיבטים שרוצים להוסיף או לעדכן.

‫API בארכיטקטורת REST

כדי לצרף את ההיבטים שיוצאו לרשומה בהגדרת המכונה ביעד, משתמשים ב-method‏ projects.locations.entryGroups.entries.patch של ה-API בארכיטקטורת REST, כמו בדוגמה הבאה:

curl -X PATCH \
-H "Authorization: Bearer ACCESS_TOKEN" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-d '{"aspects":{"ASPECT_KEY":{"data":{"FIELD_NAME":"FIELD_VALUE"}}}}' \
"https://dataplex.googleapis.com/v1/projects/PROJECT_ID/locations/DESTINATION_LOCATION/entryGroups/@spanner/entries/DESTINATION_ENTRY_ID?updateMask=aspects"

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

  • ‫ACCESS_TOKEN: טוקן הגישה שבו האפליקציה משתמשת כדי לאמת את הזהות מול השירות. לדוגמה, משתמשים ב-$(gcloud auth print-access-token).

  • ‫ASPECT_KEY: מפתח ההיבט בפורמט PROJECT_ID.ASPECT_LOCATION.ASPECT_TYPE_ID להיבט ברמת הרשומה, או PROJECT_ID.ASPECT_LOCATION.ASPECT_TYPE_ID@Schema.COLUMN_NAME להיבט ברמת העמודה.

  • ‫FIELD_NAME ו-FIELD_VALUE: שם השדה והערך שמוגדרים לפי סוג ההיבט.

  • ‫PROJECT_ID: מזהה הפרויקט שמכיל את המכונה של Spanner.

  • ‫DESTINATION_LOCATION: האזור של הגדרת מכונת היעד ב-Spanner, למשל us-central1.

  • ‫DESTINATION_ENTRY_ID: מזהה הרשומה של משאב Spanner שהועבר, בהגדרת המכונה ביעד.

משימת ייבוא

כדי לייבא היבטים של כמה רשומות באצווה מ-Cloud Storage, מריצים משימת ייבוא של מטא-נתונים.

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