יצירת מוצרי נתונים

המסמך הזה מיועד לבעלי מוצרי נתונים שרוצים ליצור ולהגדיר מוצרי נתונים ב-Knowledge Catalog (לשעבר Dataplex Universal Catalog).

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

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

לפני שיוצרים מוצרי נתונים, צריך להשלים את הדרישות המוקדמות הבאות.

הפעלה של Gemini

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

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

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

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

מידע נוסף על הפעלת Gemini ב-BigQuery זמין במאמר הגדרת Gemini ב-BigQuery.

הפעלת ממשקי ה-API

מפעילים את ממשקי ה-API של Dataplex ו-BigQuery.

תפקידים שנדרשים להפעלת ממשקי API

כדי להפעיל ממשקי API, צריך את תפקיד ה-IAM 'אדמין של Service Usage' (roles/serviceusage.serviceUsageAdmin), שכולל את ההרשאה serviceusage.services.enable. איך מקצים תפקידים

הפעלת ממשקי ה-API

יצירת נכסי נתונים

מוודאים שנכסי הנתונים (לדוגמה, מערכי נתונים, טבלאות ותצוגות מפורטות של BigQuery) נוצרו ואוכלסו.

מידע נוסף על יצירת נכסי נתונים זמין במאמרים הבאים:

הגדרת זהויות

מאתרים או יוצרים את קבוצות Google או חשבונות השירות שרוצים להגדיר במוצר הנתונים.

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

בקטע הזה מפורטים תפקידי ה-IAM המינימליים שנדרשים עבור החלקים העיקריים הבאים:

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

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

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

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

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

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

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

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

  • ליצור מוצר נתונים: dataplex.dataProducts.create
  • הצגת רשימה של מוצרי נתונים בפרויקט: dataplex.dataProducts.list
  • קבלת מוצר נתונים או הצגה שלו: dataplex.dataProducts.get
  • כדי לערוך מוצר נתונים קיים: dataplex.dataProducts.update
  • מחיקת מוצר נתונים: dataplex.dataProducts.delete
  • אישור בקשת גישה למוצר נתונים: dataplex.dataProducts.approve
  • כדי לחפש מוצר נתונים באמצעות Knowledge Catalog:
    • dataplex.dataProducts.get
    • dataplex.projects.search
  • יצירת בקשת גישה למוצר נתונים: dataplex.dataProducts.get
  • יוצרים נכס נתונים: dataplex.dataAssets.create
  • הצגת רשימה של נכסי נתונים במוצר נתונים: dataplex.dataAssets.list
  • קבלת נכס נתונים: dataplex.dataAssets.get
  • כדי לערוך נכס נתונים קיים: dataplex.dataAssets.update
  • מחיקת נכס נתונים: dataplex.dataAssets.delete
  • יוצרים סריקת נתונים: dataplex.datascans.create
  • הצגת כל סריקות הנתונים: dataplex.datascans.list
  • קבלת סריקת נתונים: dataplex.datascans.get
  • מריצים סריקת נתונים: dataplex.datascans.run
  • עורכים את סוג היחס overview של המערכת: dataplex.entryGroups.useOverviewAspect
  • עורכים את סוג היחס refresh cadence של המערכת: dataplex.entryGroups.useRefreshCadenceAspect
  • עורכים את סוג היחס queries של המערכת: dataplex.entryGroups.useQueriesAspect

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

תפקידים נדרשים לצרכני מוצרי נתונים

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

  • חיפוש מוצרי נתונים ובקשת גישה אליהם: Dataplex Data Product Consumer (dataplex.dataProductsConsumer) ו-Dataplex Catalog Viewer (roles/dataplex.catalogViewer)
  • גישת קריאה בלבד להצגת הגדרות של מוצרי נתונים ומטא-נתונים: Dataplex Data Product Viewer (dataplex.dataProductsViewer)

יצירה והגדרה של מוצר נתונים

יצירת מוצר נתונים כוללת את המשימות הכלליות הבאות:

  1. יצירת מוצר נתונים

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

  2. אופציונלי: הוספת נכסים

    בשלב הזה, בוחרים את הנכסים שרוצים לכלול במוצר הנתונים. מגבלה חשובה היא שהנכסים חייבים להיות באותו אזור כמו מוצר הנתונים עצמו. אפשר להוסיף עד 10 נכסים בכל פעם, ומקסימום 50 נכסים לכל מוצר נתונים.

    רשימת הנכסים הנתמכים זמינה במאמר נכסים נתמכים.

  3. אופציונלי: הגדרת קבוצות גישה והרשאות גישה לנכסים

    בשלב הזה, שהוא אופציונלי, יוצרים קבוצות גישה כדי לפשט את בקרת הגישה. קבוצות הגישה האלה פועלות ככינויים ידידותיים למשתמש (לדוגמה, Analyst או Reader) לקבוצות Google ולחשבונות שירות בסיסיים. לאחר מכן מקצים הרשאות על ידי בחירת תפקיד ספציפי ב-IAM ומיפוי שלו לקבוצת גישה של נכס ספציפי.

  4. אופציונלי: הוספת פרטים על החוזה וההיבטים

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

  5. אופציונלי: הוספת פרטים נוספים

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

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

יצירת מוצר נתונים

המסוף

  1. נכנסים לדף Data products בקטלוג הידע במסוף Google Cloud .

    מעבר אל 'מוצרי נתונים'

  2. לוחצים על יצירה.

  3. בחלונית Create data products, מזינים את הפרטים הבאים:

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

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

  4. לוחצים על יצירת מוצר נתונים.

REST

כדי ליצור מוצר נתונים, משתמשים ב-method‏ dataProducts.create.

לדוגמה, שולחים את הבקשה הבאה POST:

curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
-d '{"display_name": "DISPLAY_NAME", "owner_emails": ["EMAIL_IDs"], "access_approval_config": { "approver_emails": ["APPROVER_EMAIL_IDs"]} }' \
https://dataplex.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/dataProducts?data_product_id=DATA_PRODUCT_ID

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

  • DISPLAY_NAME: שם ידידותי למשתמש למוצר הנתונים
  • EMAIL_IDs: כתובות האימייל של בעלי מוצר הנתונים, מופרדות בפסיקים
  • APPROVER_EMAIL_IDs: כתובות אימייל מופרדות בפסיקים של המאשרים הייעודיים שאחראים על אישור בקשות גישה או שינויים.
  • PROJECT_ID: מזהה הפרויקט ב- Google Cloud
  • LOCATION: האזור שבו רוצים ליצור את מוצר הנתונים
  • DATA_PRODUCT_ID: מזהה ייחודי של מוצר הנתונים

Terraform

כדי ליצור מוצר נתונים, משתמשים במשאב google_dataplex_data_product.

resource "google_dataplex_data_product" "example_product" {
project         = "PROJECT_ID"
location        = "LOCATION"
data_product_id = "DATA_PRODUCT_ID"
display_name    = "DISPLAY_NAME"
description     = "DESCRIPTION"
owner_emails    = ["EMAIL_IDs"]

provider = google-beta
}

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

  • PROJECT_ID: מזהה הפרויקט ב- Google Cloud
  • LOCATION: האזור שבו רוצים ליצור את מוצר הנתונים
  • DATA_PRODUCT_ID: מזהה ייחודי של מוצר הנתונים
  • DISPLAY_NAME: שם ידידותי למשתמש למוצר הנתונים
  • DESCRIPTION: תיאור קצר של מוצר הנתונים
  • EMAIL_IDs: כתובות אימייל מופרדות בפסיקים של בעלי מוצר הנתונים, לדוגמה – ["user1@example.com", "user2@example.com"]

אופציונלי: הוספת נכסים

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

המסוף

  1. בחלונית הוספת נכסים, לוחצים על +הוספה.

  2. מחפשים את הנכסים שרוצים להוסיף למוצר הנתונים ובוחרים אותם. הנכסים שאתם בוחרים צריכים להיות באותו אזור כמו מוצר הנתונים.

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

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

  4. אחרי שבוחרים את הנכסים, לוחצים על הוספה.

  5. לוחצים על Continue.

REST

כדי להוסיף נכס נתונים למוצר הנתונים, משתמשים בשיטה dataAssets.create.

לדוגמה, שולחים את הבקשה הבאה POST:

curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
-d '{"resource": "RESOURCE_NAME"}' \
https://dataplex.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/dataProducts/DATA_PRODUCT_ID/dataAssets?data_asset_id=DATA_ASSET_ID

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

  • RESOURCE_NAME: שם המשאב המלא של נכס הנתונים (לדוגמה, //bigquery.googleapis.com/projects/PROJECT_ID/datasets/DATASET_ID/tables/TABLE_ID)
  • PROJECT_ID: מזהה הפרויקט ב- Google Cloud
  • LOCATION: האזור שבו קיים מוצר הנתונים
  • DATA_PRODUCT_ID: המזהה של מוצר הנתונים
  • DATA_ASSET_ID: מזהה ייחודי של נכס הנתונים הזה במוצר הנתונים

Terraform

כדי להוסיף נכס נתונים למוצר הנתונים, משתמשים במשאב google_dataplex_data_product_data_asset.

resource "google_dataplex_data_product_data_asset" "example_asset" {
project         = "PROJECT_ID"
location        = "LOCATION"
data_product_id = "DATA_PRODUCT_ID"
data_asset_id   = "DATA_ASSET_ID"
resource        = "RESOURCE_NAME"

provider = google-beta
}

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

  • PROJECT_ID: מזהה הפרויקט ב- Google Cloud
  • LOCATION: האזור שבו קיים מוצר הנתונים
  • DATA_PRODUCT_ID: המזהה של מוצר הנתונים
  • DATA_ASSET_ID: מזהה ייחודי של נכס הנתונים הזה במוצר הנתונים
  • RESOURCE_NAME: שם המשאב המלא של נכס הנתונים (לדוגמה, //bigquery.googleapis.com/projects/PROJECT_ID/datasets/DATASET_ID/tables/TABLE_ID)

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

בחלונית Configure access groups and asset permissions (הגדרת קבוצות גישה והרשאות לנכסים), אפשר ליצור קבוצות גישה ולהקצות הרשאות לנכסים.

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

המסוף

  1. לוחצים על הוספת קבוצת גישה.

  2. בשדה שם קבוצת הגישה, מזינים שם לקבוצת הגישה. לדוגמה, Analyst.

  3. בשדה תיאור קבוצת הגישה, מזינים תיאור לקבוצת הגישה.

  4. בשדה מזהה קבוצת הגישה, מזינים את כתובת האימייל של קבוצת Google שרוצים להקצות לקבוצת הגישה הזו.

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

    מידע נוסף על יצירת קבוצות Google מופיע במאמר בנושא יצירה וניהול של קבוצות Google במסוף Google Cloud .

  5. בשדה Access group service account, מזינים את כתובת האימייל של חשבון השירות שרוצים להקצות לקבוצת הגישה הזו.

    לצרכני מוצרי נתונים שמבקשים גישה לחשבונות השירות שלהם מוקצה תפקיד ה-IAM ‏Service Account Token Creator (roles/iam.serviceAccountTokenCreator) כדי להתחזות לחשבון השירות של יצרן הנתונים שממופה לקבוצת הגישה.

    מידע נוסף על יצירת חשבונות שירות זמין במאמר יצירת חשבונות שירות.

  6. לוחצים על סיום.

  7. כדי להוסיף עוד קבוצת גישה, לוחצים על הוספת קבוצת גישה וחוזרים על השלבים.

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

  8. לוחצים על Save.

REST

כדי להגדיר קבוצת גישה למוצר הנתונים, משתמשים בשיטה dataProducts.patch.

לדוגמה, שולחים את הבקשה הבאה PATCH:

curl -X PATCH \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
-d '{"access_groups": ACCESS_GROUPS_MAP}' \
https://dataplex.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/dataProducts/DATA_PRODUCT_ID?update_mask="access_groups"

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

  • ACCESS_GROUPS_MAP: אובייקט JSON שמייצג מפה שבה כל מפתח הוא מזהה של קבוצת גישה, והערך הוא אובייקט AccessGroup. לדוגמה:

    {
    "analyst": {
      "id": "analyst",
      "display_name": "Analyst access group",
      "description": "Access group for analysts",
      "principal":
        {
          "google_group": "analyst-team@example.com",
          "service_account": "analyst-svc@gserviceaccount.com"
        }
    }
    
  • PROJECT_ID: מזהה הפרויקט ב- Google Cloud

  • LOCATION: האזור שבו קיים מוצר הנתונים

  • DATA_PRODUCT_ID: המזהה של מוצר הנתונים

Terraform

כדי להגדיר קבוצות גישה למוצר הנתונים, משתמשים בבלוק access_groups nested בתוך המשאב google_dataplex_data_product.

לדוגמה, אפשר להשתמש בהגדרה הבאה:

resource "google_dataplex_data_product" "example_data_product" {
project         = "PROJECT_ID"
location        = "LOCATION"
data_product_id = "DATA_PRODUCT_ID"
display_name    = "DISPLAY_NAME"
owner_emails    = ["EMAIL_IDs"]

access_groups {
  id           = "analyst" # Internal identifier for configuration
  group_id     = "analyst" # Unique identifier of the access group, should be same as the 'id'
  display_name = "Business Analyst"
  description  = "Access group for regional analysts"
  principal {
    google_group = "analyst-team@example.com"
  }

provider = google-beta
}

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

  • PROJECT_ID: מזהה הפרויקט ב- Google Cloud
  • LOCATION: האזור שבו קיים מוצר הנתונים
  • DATA_PRODUCT_ID: מזהה ייחודי של מוצר הנתונים
  • DISPLAY_NAME: שם ידידותי למשתמש למוצר הנתונים
  • EMAIL_IDs: כתובות אימייל מופרדות בפסיקים של בעלי מוצר הנתונים, לדוגמה – ["user1@example.com", "user2@example.com"]

הגדרת הרשאות גישה לנכסים

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

המסוף

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

  2. לוחצים על הגדרת הרשאות.

  3. בשדה בחירת קבוצת גישה, בוחרים קבוצת גישה.

  4. בשדה Assign IAM role, בוחרים את תפקיד ה-IAM שרוצים להקצות לקבוצת הגישה.

    לדוגמה, אם הנכס הוא טבלה ב-BigQuery בשם Sales, ואם בחרתם בקבוצת הגישה Analyst והקציתם לה את התפקיד BigQuery Metadata Viewer, לצרכני מוצר הנתונים שחברים בקבוצת הגישה Analyst תהיה הרשאת BigQuery Metadata Viewer בטבלה Sales.

    אפשר להוסיף כמה תפקידים לנכס.

  5. לוחצים על Configure (הגדרה). עכשיו מוצגות ההרשאות שהוקצו לנכס.

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

  7. לוחצים על Continue.

REST

כדי להגדיר הרשאות לנכסים במוצר הנתונים, משתמשים ב-method ‏dataAssets.patch.

לדוגמה, שולחים את הבקשה הבאה PATCH:

curl -X PATCH \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
-d '{"access_group_configs": ACCESS_GROUP_CONFIGS_MAP}' \
https://dataplex.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/dataProducts/DATA_PRODUCT_ID/dataAssets/DATA_ASSET_ID?update_mask="access_group_configs"

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

  • ACCESS_GROUP_CONFIGS_MAP: אובייקט JSON שמייצג מפה שבה כל מפתח הוא מזהה של קבוצת גישה, והערך הוא אובייקט AccessGroupConfig. לדוגמה:

    {
    "analyst": {
      iam_roles: ["roles/bigquery.dataViewer"]
      }
    }
    
  • PROJECT_ID: מזהה הפרויקט ב- Google Cloud

  • LOCATION: האזור שבו קיים מוצר הנתונים

  • DATA_PRODUCT_ID: המזהה של מוצר הנתונים

  • DATA_ASSET_ID: המזהה של הנכס שעבורו רוצים להגדיר הרשאות

Terraform

מקצים תפקידי IAM לקבוצות הגישה שלכם לנכסים ספציפיים באמצעות הבלוק access_group_configs במשאב google_dataplex_data_product_data_asset.

לדוגמה, אפשר להשתמש בהגדרה הבאה:

resource "google_dataplex_data_product_data_asset" "example_data_asset" {
project         = "PROJECT_ID"
location        = "LOCATION"
data_product_id = "DATA_PRODUCT_ID"
data_asset_id   = "DATA_ASSET_ID"
resource        = "RESOURCE_NAME"

access_group_configs {
  access_group = "analyst" # Must match the 'id' defined in google_dataplex_data_product
  iam_roles    = ["roles/bigquery.dataViewer"]
}

provider = google-beta
}

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

  • PROJECT_ID: מזהה הפרויקט ב- Google Cloud
  • LOCATION: האזור שבו קיים מוצר הנתונים
  • DATA_PRODUCT_ID: המזהה של מוצר הנתונים
  • DATA_ASSET_ID: מזהה ייחודי של נכס הנתונים הזה במוצר הנתונים
  • RESOURCE_NAME: שם המשאב המלא של נכס הנתונים (לדוגמה, //bigquery.googleapis.com/projects/PROJECT_ID/datasets/DATASET_ID/tables/TABLE_ID)

אופציונלי: מוסיפים פרטים על החוזה וההיבט

אפשר להוסיף חוזים והיבטים למוצר נתונים.

הוספת חוזה

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

המסוף

  1. בחלונית הוספת פרטים של חוזה והיבט, לוחצים על הוספת חוזה.

  2. בשדה Select contract (בחירת חוזה), בוחרים באפשרות Refresh cadence.

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

  4. בשדה זמן הרענון, מזינים את הזמן המקסימלי שבו הנתונים מתעדכנים במקור שלהם ועד שהם זמינים לצרכן. לדוגמה, 23:00 PST.

  5. בשדה סף (בדקות), מזינים מגבלה מדידה בדקות של העיכוב המקובל במסירת הנתונים. לדוגמה, מזינים 30 כדי להגדיר סף של 30 דקות.

  6. אופציונלי: בשדה Cron schedule, מזינים ביטוי cron שמגדיר את לוח הזמנים ליצירה ולמסירה של נתונים בפורמט: MINUTE HOUR DAY_OF_MONTH MONTH DAY_OF_WEEK

    אלה הערכים הקבילים:

    • MINUTE: 0-59
    • HOUR: 0-23
    • DAY_OF_MONTH: 1-31
    • MONTH: 1-31 או JAN-DEC
    • DAY_OF_WEEK: 0-6 או SUN-SAT

    לדוגמה, 0 8 * * 1-5 פועל בשעה 8:00 בבוקר בימי חול (שני עד שישי).

  7. לוחצים על Save.

REST

החוזים מוגדרים כמאפיינים במוצר הנתונים. כדי להוסיף Refresh Cadenceחוזה למוצר נתונים, משתמשים בשיטה entries.patch.

לדוגמה, שולחים את הבקשה הבאה PATCH:

curl -X PATCH \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
-d \
'{
  "aspects": {
    "dataplex-types.global.refresh-cadence": {
      "aspectType": "projects/dataplex-types/locations/global/aspectTypes/refresh-cadence",
      "data": {
        "frequency": "REFRESH_FREQUENCY"
      }
    }
  }
}' \
"https://dataplex.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/entryGroups/@dataplex/entries/projects/DATA_PRODUCT_PROJECT_NUMBER/locations/DATA_PRODUCT_LOCATION/dataProducts/DATA_PRODUCT_ID?updateMask=aspects"

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

  • REFRESH_FREQUENCY: לוח הזמנים המוסכם לעדכון או למסירת הנתונים, כדי להבטיח זרימה צפויה מהגורם שמפיק את הנתונים אל הגורם שצורכים אותם. לדוגמה: Weekly
  • PROJECT_ID: מזהה Google Cloud הפרויקט שבו מתבצעת הקריאה ל-API
  • LOCATION: האזור של נקודת הקצה של שירות Knowledge Catalog שאליו מתקשרים (לדוגמה, us-central1)
  • DATA_PRODUCT_PROJECT_NUMBER: מספר הפרויקט שבו נמצא משאב מוצר הנתונים
  • DATA_PRODUCT_LOCATION: המיקום של משאב מוצר הנתונים
  • DATA_PRODUCT_ID: המזהה של מוצר הנתונים

Terraform

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

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

terraform import google_dataplex_entry.data_product_metadata "projects/DATA_PRODUCT_PROJECT_NUMBER/locations/LOCATION/entryGroups/@dataplex/entries/projects/DATA_PRODUCT_PROJECT_NUMBER/locations/LOCATION/dataProducts/DATA_PRODUCT_ID"

הגדרות של Terraform:

resource "google_dataplex_entry" "data_product_metadata" {
project        = "DATA_PRODUCT_PROJECT_NUMBER"
location       = "LOCATION"
entry_group_id = "@dataplex"
entry_id       = "projects/DATA_PRODUCT_PROJECT_NUMBER/locations/LOCATION/dataProducts/DATA_PRODUCT_ID"
entry_type     = "projects/655216118709/locations/global/entryTypes/data-product"

aspects {
  aspect_key = "655216118709.global.refresh-cadence"
  aspect {
    data = jsonencode({
      frequency = "REFRESH_FREQUENCY"
    })
  }
}

provider = google-beta
}

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

  • DATA_PRODUCT_PROJECT_NUMBER: מספר הפרויקט שבו נמצא משאב מוצר הנתונים
  • LOCATION: האזור של נקודת הקצה של שירות Knowledge Catalog שאליו מתקשרים (לדוגמה, us-central1)
  • DATA_PRODUCT_ID: המזהה של מוצר הנתונים
  • REFRESH_FREQUENCY: לוח הזמנים המוסכם לעדכון או למסירת הנתונים, כדי להבטיח זרימה צפויה מהגורם שמפיק את הנתונים אל הגורם שצורכת אותם. לדוגמה: Weekly

מידע כללי על תהליך הייבוא זמין במאמרי העזרה בנושא ייבוא ב-Terraform.

הוספת היבטים

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

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

המסוף

  1. בחלונית הוספת פרטים של חוזה והיבט, לוחצים על + הוספת היבט.

  2. בשדה בחירת סוג היבט, מחפשים ובוחרים סוג היבט מהרשימה. לדוגמה, Geo context.

  3. לוחצים על Save.

REST

כדי להוסיף היבטים למוצר נתונים, משתמשים בשיטה entries.patch.

לדוגמה, שולחים את הבקשה הבאה PATCH:

curl -X PATCH \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
-d \
'{
  "aspects": {
    "ASPECT_PROJECT_ID.ASPECT_LOCATION.ASPECT_NAME": {
      "aspectType": "projects/ASPECT_PROJECT_ID/locations/ASPECT_LOCATION/aspectTypes/ASPECT_NAME",
      "data": {}
    }
  }
}' \
"https://dataplex.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/entryGroups/@dataplex/entries/projects/DATA_PRODUCT_PROJECT_NUMBER/locations/DATA_PRODUCT_LOCATION/dataProducts/DATA_PRODUCT_ID?updateMask=aspects"

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

  • ASPECT_PROJECT_ID: המזהה של הפרויקט Google Cloudשבו נוצר ההיבט
  • ASPECT_LOCATION: האזור של נקודת הקצה של שירות Knowledge Catalog שבו נוצר ההיבט (לדוגמה, us-central1)
  • ASPECT_NAME: שם ההיבט שרוצים לצרף למוצר הנתונים
  • PROJECT_ID: מזהה Google Cloud הפרויקט שבו מתבצעת הקריאה ל-API
  • LOCATION: האזור של נקודת הקצה של שירות Knowledge Catalog שאליו מתקשרים (לדוגמה, us-central1)
  • DATA_PRODUCT_PROJECT_NUMBER: מספר הפרויקט שבו נמצא משאב מוצר הנתונים
  • DATA_PRODUCT_LOCATION: המיקום של משאב מוצר הנתונים
  • DATA_PRODUCT_ID: המזהה של מוצר הנתונים

Terraform

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

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

terraform import google_dataplex_entry.data_product_metadata "projects/DATA_PRODUCT_PROJECT_NUMBER/locations/LOCATION/entryGroups/@dataplex/entries/projects/DATA_PRODUCT_PROJECT_NUMBER/locations/LOCATION/dataProducts/DATA_PRODUCT_ID"

הגדרות של Terraform:

resource "google_dataplex_entry" "data_product_metadata" {
project        = "DATA_PRODUCT_PROJECT_NUMBER"
location       = "LOCATION"
entry_group_id = "@dataplex"
entry_id       = "projects/DATA_PRODUCT_PROJECT_NUMBER/locations/LOCATION/dataProducts/DATA_PRODUCT_ID"
entry_type     = "projects/655216118709/locations/global/entryTypes/data-product"

aspects {
  aspect_key = "ASPECT_PROJECT_NUMBER.ASPECT_LOCATION.ASPECT_NAME"
  aspect {
    data = {}
  }
}

provider = google-beta
}

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

  • DATA_PRODUCT_PROJECT_NUMBER: מספר הפרויקט שבו נמצא משאב מוצר הנתונים
  • LOCATION: האזור של נקודת הקצה של שירות Knowledge Catalog שאליו מתקשרים (לדוגמה, us-central1)
  • DATA_PRODUCT_ID: המזהה של מוצר הנתונים
  • ASPECT_PROJECT_NUMBER: Google Cloud מספר הפרויקט שבו נוצר ההיבט
  • ASPECT_LOCATION: האזור של נקודת הקצה של שירות Knowledge Catalog שבו נוצר ההיבט (לדוגמה, us-central1)
  • ASPECT_NAME: שם ההיבט שרוצים לצרף למוצר הנתונים

מידע כללי על תהליך הייבוא זמין במאמרי העזרה בנושא ייבוא ב-Terraform.

אופציונלי: הוספת פרטים נוספים

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

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

הוספה ידנית של תיעוד ושאילתות לדוגמה

המסוף

כדי להוסיף תיעוד למוצר הנתונים:

  1. בחלונית Add additional details (הוספת פרטים נוספים), לוחצים על Edit (עריכה) לצד Documentation (תיעוד).

  2. מקלידים את התוכן בכלי Rich Text Editor.

  3. לוחצים על Save.

כדי להוסיף שאילתות לדוגמה למוצר הנתונים:

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

  2. מקלידים את השאילתות לדוגמה.

  3. לוחצים על Save.

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

REST

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

לדוגמה, שולחים את הבקשה הבאה PATCH:

curl -X PATCH \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
-d \
'{
  "aspects": {
    "dataplex-types.global.overview": {
      "aspectType": "projects/dataplex-types/locations/global/aspectTypes/overview",
      "data": {
        "content": "DOCUMENTATION"
      }
    }
  }
}' \
"https://dataplex.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/entryGroups/@dataplex/entries/projects/DATA_PRODUCT_PROJECT_NUMBER/locations/DATA_PRODUCT_LOCATION/dataProducts/DATA_PRODUCT_ID?updateMask=aspects"

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

  • PROJECT_ID: מזהה Google Cloud הפרויקט שבו מתבצעת הקריאה ל-API
  • LOCATION: האזור של נקודת הקצה של שירות Knowledge Catalog שאליו מתקשרים (לדוגמה, us-central1)
  • DATA_PRODUCT_PROJECT_NUMBER: מספר הפרויקט שבו נמצא משאב מוצר הנתונים
  • DATA_PRODUCT_LOCATION: המיקום של משאב מוצר הנתונים
  • DATA_PRODUCT_ID: המזהה של מוצר הנתונים
  • DOCUMENTATION: התוכן שרוצים לצרף למוצר הנתונים

Terraform

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

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

terraform import google_dataplex_entry.data_product_metadata "projects/DATA_PRODUCT_PROJECT_NUMBER/locations/LOCATION/entryGroups/@dataplex/entries/projects/DATA_PRODUCT_PROJECT_NUMBER/locations/LOCATION/dataProducts/DATA_PRODUCT_ID"

הגדרות של Terraform:

resource "google_dataplex_entry" "data_product_metadata" {
project        = "DATA_PRODUCT_PROJECT_NUMBER"
location       = "LOCATION"
entry_group_id = "@dataplex"
entry_id       = "projects/DATA_PRODUCT_PROJECT_NUMBER/locations/LOCATION/dataProducts/DATA_PRODUCT_ID"
entry_type     = "projects/655216118709/locations/global/entryTypes/data-product"

aspects {
  aspect_key = "655216118709.global.overview"
  aspect {
    data = jsonencode({
      content = "DOCUMENTATION"
    })
  }
}

provider = google-beta
}

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

  • DATA_PRODUCT_PROJECT_NUMBER: מספר הפרויקט שבו נמצא משאב מוצר הנתונים
  • LOCATION: האזור של נקודת הקצה של שירות Knowledge Catalog שאליו מתקשרים (לדוגמה, us-central1)
  • DATA_PRODUCT_ID: המזהה של מוצר הנתונים
  • DOCUMENTATION: התוכן שרוצים לצרף למוצר הנתונים

מידע כללי על תהליך הייבוא זמין במאמרי העזרה בנושא ייבוא ב-Terraform.

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

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

  1. מפעילים את Gemini for Google Cloud API בפרויקט שבו יוצרים את מוצר הנתונים.

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

    • יצירה וניהול של תובנות לגבי נתונים: Dataplex DataScan Editor‏ (roles/dataplex.dataScanEditor) או Dataplex DataScan Administrator‏ (roles/dataplex.dataScanAdmin) בפרויקט שבו נמצא מוצר הנתונים
    • הצגת תובנות שנוצרו: Dataplex DataScan DataViewer‏ (roles/dataplex.dataScanDataViewer) בפרויקט שבו נמצא מוצר הנתונים
  3. הגדרת הרשאות לסוכן שירות בין פרויקטים. אם נכסי הנתונים הבסיסיים נמצאים בפרויקט שונה מהפרויקט של מוצר הנתונים, צריך להעניק לסוכן השירות של Knowledge Catalog ‏ (P4SA) גישה לנכסים האלה: Google Cloud

    1. כדי ליצור או לאחזר את מזהה סוכן השירות של פרויקט מוצר הנתונים, מריצים את הפקודה הבאה ב-Google Cloud CLI:

      gcloud beta services identity create --service=dataplex.googleapis.com --project=DATA_PRODUCT_PROJECT_ID
      

      מחליפים את DATA_PRODUCT_PROJECT_ID במזהה הפרויקט ב-Google Cloud שבו נמצא מוצר הנתונים.

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

      • עריכה של נתוני BigQuery‏ (roles/bigquery.dataEditor) בטבלאות ובמערכי הנתונים הבסיסיים

      • אדמין של BigQuery Studio‏ (roles/bigquery.studioAdmin) בפרויקט של נכס

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

המסוף

  1. בחלונית הוספת פרטים נוספים, בסרגל יצירת תובנות באמצעות Gemini, לוחצים על יצירה.

    ממתינים כמה דקות עד שתהליך יצירת התובנות יסתיים.

  2. כדי לבדוק את התוכן שנוצר, לוחצים על הצגה.

  3. הערכת התוכן שנוצר:

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

    • אם התוכן לא עומד בציפיות, לוחצים על ביטול.

  4. לוחצים על שמירה כדי לסיים.

REST

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

  1. ליצור תיעוד אוטומטי.

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

    curl -X POST \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json" \
    -d '{
      "data": {
        "resource": "DATA_PRODUCT_RESOURCE_NAME"
      },
      "executionSpec": {
        "trigger": {
          "oneTime": {
            "ttl_after_scan_completion": "TTL"
          }
        }
      },
      "type": "DATA_DOCUMENTATION",
      "dataDocumentationSpec": {}
    }' \
    "https://dataplex.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/dataScans?data_scan_id=DATA_SCAN_ID"
    

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

    • DATA_PRODUCT_RESOURCE_NAME: שם המשאב המלא של מוצר הנתונים שאותו רוצים לסרוק.
    • TTL: משך הזמן בשניות שאחריו משאב הסריקה יימחק אוטומטית (לדוגמה, 3600 לשעה אחת). אם לא מציינים ערך, ברירת המחדל היא 24 שעות. הערך המקסימלי המותר הוא 365 ימים (31536000 שניות).
    • PROJECT_ID: מזהה הפרויקט ב- Google Cloud
    • LOCATION: האזור שבו מתבצעת סריקת הנתונים
    • DATA_SCAN_ID: מזהה ייחודי שאתם מספקים לסריקה הזו
  2. מאחזרים את התיעוד שנוצר.

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

    curl -X GET \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json" \
    "https://dataplex.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/dataScans/DATA_SCAN_ID?view=full"
    
  3. שומרים את השאילתות שנוצרו במוצר הנתונים.

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

    curl -X PATCH \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json" \
    -d '{
      "aspects": {
        "dataplex-types.global.queries": {
          "aspectType": "projects/dataplex-types/locations/global/aspectTypes/queries",
          "data": {
            "queries": [
              {
                "description": "QUERY_DESCRIPTION",
                "sql": "SQL_STATEMENT",
                "source": "USER"
              }
            ]
          }
        }
      }
    }' \
    "https://dataplex.googleapis.com/v1/projects/CATALOG_PROJECT_ID/locations/CATALOG_LOCATION/entryGroups/@dataplex/entries/projects/DATA_PRODUCT_PROJECT_NUMBER/locations/DATA_PRODUCT_LOCATION/dataProducts/DATA_PRODUCT_ID?updateMask=aspects"
    

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

    • QUERY_DESCRIPTION: תיאור שמסביר מה השאילתה המומלצת לדוגמה עושה

    • SQL_STATEMENT: הטקסט המילולי של שאילתת ה-SQL לדוגמה שנוצרה

    • CATALOG_PROJECT_ID: המזהה שלGoogle Cloud הפרויקט שממנו מתבצעת קריאה ל-API

    • CATALOG_LOCATION: נקודת הקצה האזורית של שירות Knowledge Catalog (לדוגמה, us-central1)

    • DATA_PRODUCT_PROJECT_NUMBER: מספר הפרויקט שבו מתארח משאב מוצר הנתונים

    • DATA_PRODUCT_LOCATION: המיקום של משאב מוצר הנתונים

    • DATA_PRODUCT_ID: המזהה של מוצר הנתונים

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