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

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

מידע נוסף על סריקות פרופיל נתונים ב-Knowledge Catalog זמין במאמר בנושא פרופיל נתונים.

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

מפעילים את Dataplex API, אם הוא עדיין לא מופעל.

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

כדי להפעיל ממשקי API, צריך את ההרשאה serviceusage.services.enable. אם יצרתם את הפרויקט, סביר להניח שכבר יש לכם את ההרשאה הזו דרך התפקיד 'בעלים' (roles/owner). אחרת, תוכלו לקבל את ההרשאה הזו דרך התפקיד 'אדמין בממשק 'שימוש בשירות'' (roles/serviceusage.serviceUsageAdmin). איך מקצים תפקידים

להפעלת ה-API

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

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

תפקידים והרשאות של משתמשים

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

  • יצירה, הפעלה, עדכון ומחיקה של סריקות פרופיל נתונים: Dataplex DataScan Editor (roles/dataplex.dataScanEditor) בפרויקט שמכיל את סריקת הנתונים
  • צפייה בתוצאות של סריקת פרופיל נתונים, במשימות ובהיסטוריה: Dataplex DataScan Viewer (roles/dataplex.dataScanViewer) בפרויקט שמכיל את סריקת הנתונים
  • פרסום תוצאות סריקת פרופיל הנתונים ב-Knowledge Catalog: Dataplex Catalog Editor (roles/dataplex.catalogEditor) בקבוצת הרשומות @bigquery
  • תוצאות הסריקה של פרופיל הנתונים שפורסם מוצגות ב-BigQuery בכרטיסייה פרופיל נתונים: BigQuery Data Viewer (roles/bigquery.dataViewer) בטבלה
  • מריצים סריקות של פרופיל נתונים:
    • ‫BigQuery Job User (roles/bigquery.jobUser) בפרויקט שבו מופעלת הסריקה (כל סוגי הטבלאות)
    • ‫BigQuery Data Viewer (roles/bigquery.dataViewer) בטבלאות BigQuery שנסרקות
  • הפעלת סריקות של פרופיל נתונים בטבלאות חיצוניות של BigQuery שמשתמשות בנתונים מ-Cloud Storage:
  • הפעלת סריקות פרופיל נתונים עבור טבלאות Iceberg REST Catalog,‏ SAP BDC Delta Lake ו-Apache Hive ב- Google Cloud Lakehouse: BigLake Viewer (roles/biglake.viewer) בטבלאות שנסרקות
  • ייצוא תוצאות הסריקה של פרופיל הנתונים לטבלה ב-BigQuery: BigQuery Data Editor (roles/bigquery.dataEditor) בטבלה

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

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

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

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

  • יצירה, הפעלה, עדכון ומחיקה של סריקות פרופיל נתונים:
    • dataplex.datascans.create בפרויקט
    • dataplex.datascans.update בסריקת נתונים
    • dataplex.datascans.delete בסריקת נתונים
    • dataplex.datascans.run בסריקת נתונים
    • dataplex.datascans.get בסריקת נתונים
    • dataplex.datascans.list בפרויקט
    • dataplex.dataScanJobs.get במשימת סריקת נתונים
    • dataplex.dataScanJobs.list בסריקת נתונים
  • הצגת תוצאות הסריקה של פרופיל הנתונים, המשימות וההיסטוריה:
    • dataplex.datascans.getData בסריקת נתונים
    • dataplex.datascans.list בפרויקט
    • dataplex.dataScanJobs.get במשימת סריקת נתונים
    • dataplex.dataScanJobs.list בסריקת נתונים
  • פרסום תוצאות של סריקת פרופיל נתונים ב-Knowledge Catalog:
    • dataplex.entryGroups.useDataProfileAspect בקבוצת הכניסה
    • bigquery.tables.update בטבלה
    • dataplex.entries.update בכניסה
  • צפייה בתוצאות של פרופיל נתונים שפורסם בטבלה ב-BigQuery או ב-Knowledge Catalog:
    • bigquery.tables.get בטבלה
    • bigquery.tables.getData בטבלה

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

תפקידים והרשאות של חשבון שירות ב-Knowledge Catalog

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

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

  • מריצים סריקות של פרופיל נתונים:
    • ‫BigQuery Job User (roles/bigquery.jobUser) בפרויקט שבו מופעלת הסריקה (כל סוגי הטבלאות)
    • ‫BigQuery Data Viewer (roles/bigquery.dataViewer) בטבלאות BigQuery שנסרקות
  • מריצים סריקות של פרופיל נתונים לטבלאות חיצוניות ב-BigQuery שמשתמשות בנתונים מ-Cloud Storage:
  • הפעלת סריקות פרופיל נתונים לטבלאות Iceberg REST Catalog,‏ SAP BDC Delta Lake ו-Apache Hive ב- Google Cloud Lakehouse: ‫BigLake Viewer (roles/biglake.viewer) בטבלאות שנסרקות
  • ייצוא תוצאות הסריקה של פרופיל הנתונים לטבלה ב-BigQuery: BigQuery Data Editor (roles/bigquery.dataEditor) בטבלה

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

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

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

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

  • הפעלת סריקות של פרופיל נתונים על נתונים ב-BigQuery:
    • bigquery.jobs.create בפרויקט
    • bigquery.tables.get בטבלה
    • bigquery.tables.getData בטבלה
  • מריצים סריקות של פרופילי נתונים בטבלאות חיצוניות ב-BigQuery שמשתמשות בנתונים מ-Cloud Storage:
    • storage.buckets.get בקטגוריה
    • storage.objects.get באובייקט
  • ייצוא תוצאות סריקת פרופיל נתונים לטבלה ב-BigQuery:
    • bigquery.tables.create במערך הנתונים
    • bigquery.tables.updateData בטבלה

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

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

אם בטבלה מוגדרת אבטחה ברמת העמודה ב-BigQuery, צריך לתת ל-Knowledge Catalog גישה כדי לסרוק עמודות מוגנות. כדי לתת גישה, צריך להקצות לחשבון השירות של Knowledge Catalog את התפקיד Data Catalog Fine-Grained Reader (roles/datacatalog.fineGrainedReader) בכל תגי המדיניות שמשמשים בטבלה. המשתמש שיוצר או מעדכן סריקת נתונים צריך גם הרשאות לעמודות מוגנות.

הקצאת תפקידים לחשבון השירות של Knowledge Catalog

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

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

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

    הפקודה מחזירה את האימייל של חשבון השירות, בפורמט הבא: service-PROJECT_ID@gcp-sa-dataplex.iam.gserviceaccount.com.

    אם חשבון השירות כבר קיים, אפשר למצוא את כתובת האימייל שלו על ידי הצגת חשבונות משתמשים עם השם Dataplex בדף IAM במסוףGoogle Cloud .

  2. נותנים לחשבון השירות את התפקיד BigQuery Job User (roles/bigquery.jobUser) בפרויקט. התפקיד הזה מאפשר לחשבון השירות להריץ משימות ב-BigQuery לצורך הסריקה.

    gcloud projects add-iam-policy-binding PROJECT_ID \
        --member="serviceAccount:service-PROJECT_NUMBER@gcp-sa-dataplex.iam.gserviceaccount.com" \
        --role="roles/bigquery.jobUser"
    

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

    • ‫PROJECT_ID: מזהה הפרויקט ב- Google Cloud .
    • ‫service-PROJECT_NUMBER@gcp-sa-dataplex.iam.gserviceaccount.com: כתובת האימייל של חשבון השירות של Knowledge Catalog.
  3. מעניקים לחשבון השירות את התפקיד BigQuery Data Viewer (roles/bigquery.dataViewer) לכל טבלה שרוצים ליצור לה פרופיל. התפקיד הזה נותן הרשאת קריאה בלבד לטבלאות.

    gcloud bigquery tables add-iam-policy-binding DATASET_ID.TABLE_ID \
        --member="serviceAccount:service-PROJECT_NUMBER@gcp-sa-dataplex.iam.gserviceaccount.com" \
        --role="roles/bigquery.dataViewer"
    

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

    • ‫DATASET_ID: המזהה של קבוצת הנתונים שמכילה את הטבלה.
    • ‫TABLE_ID: המזהה של הטבלה שרוצים ליצור לה פרופיל.
    • ‫service-PROJECT_NUMBER@gcp-sa-dataplex.iam.gserviceaccount.com: כתובת האימייל של חשבון השירות של Knowledge Catalog.

דרישות רשת

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

זהות המתקשר וזהות ההרצה

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

  • זהות המתקשר (מישור הניהול): חשבון המשתמש או חשבון השירות ששולח את בקשת ה-API כדי ליצור או להריץ את סריקת הנתונים (dataScans.create או dataScans.run).

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

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

    כדי לקרוא את הנתונים בטבלאות היעד וליצור סיכומים, זהות ההרשאה צריכה גישה מלאה לנתונים (לדוגמה, bigquery.tables.getData) והרשאות מחשוב (לדוגמה, bigquery.jobs.insert).

הגדרת זהות הרצה בהתאמה אישית

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

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

ההרשאות הנדרשות לזהויות הרצה בהתאמה אישית

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

  • כדי להשתמש בחשבון שירות בהתאמה אישית, אתם צריכים את ההרשאות הבאות:
    • ההרשאה iam.serviceAccounts.actAs שניתנה לפרויקט שמכיל את חשבון השירות (לדוגמה, roles/iam.serviceAccountUser).
    • לסוכן השירות של הפרויקט (service-PROJECT_NUMBER@gcp-sa-dataplex.iam.gserviceaccount.com) צריכה להיות ההרשאה iam.serviceAccounts.getAccessToken בחשבון השירות המותאם אישית (לדוגמה, אם מוקצה לו התפקיד roles/iam.serviceAccountTokenCreator).
    • לחשבון השירות המותאם אישית צריכות להיות ההרשאות bigquery.tables.getData בטבלה כדי לסרוק, bigquery.jobs.insert בפרויקט הסריקה ו-bigquery.dataEditor במערך הנתונים של הייצוא (אם משתמשים בייצוא).
  • כדי להשתמש בפרטי כניסה של משתמשי קצה, צריך:
    • bigquery.tables.getData על השולחן כדי לסרוק.
    • ‫bigquery.jobs.insert בפרויקט הסריקה.
    • bigquery.dataEditor במערך הנתונים לייצוא (אם משתמשים בייצוא).

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

המסוף

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

בקטע Execution Identity, בוחרים אחת מהאפשרויות הבאות:

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

REST

כדי להשתמש בחשבון שירות בהתאמה אישית, מוסיפים את האובייקט executionIdentity להגדרת המשאב DataScan במהלך הבקשה create:

"executionIdentity": {
  "serviceAccount": {
     "email": "YOUR_SERVICE_ACCOUNT_EMAIL"
  }
}
  

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

  • ‫YOUR_SERVICE_ACCOUNT_EMAIL: כתובת האימייל של חשבון השירות שבו רוצים להשתמש.

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

"executionIdentity": {
  "userCredential": {}
}
  

יצירת סריקה של פרופיל נתונים

המסוף

  1. במסוף Google Cloud , נכנסים לדף Knowledge Catalog ‏Data profiling & quality.

    מעבר אל "יצירת פרופילים של נתונים ואיכות"

  2. לוחצים על Create data profile scan.

  3. אופציונלי: מזינים שם לתצוגה.

  4. מזינים מזהה. מוסכמות למתן שמות למשאבים

  5. אופציונלי: מזינים תיאור.

  6. בשדה Table, לוחצים על Browse. בוחרים את הטבלה שרוצים לסרוק ולוחצים על Select. אפשר להשתמש רק בטבלאות BigQuery רגילות, ב-Iceberg REST Catalog, ב-SAP BDC Delta Lake וב-Apache Hive ב- Google CloudLakehouse.

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

    כדי לעיין בטבלאות שמאורגנות ב-Knowledge Catalog, לוחצים על Browse within Knowledge Catalog Lakes.

  7. בקטע מצב, בוחרים באחת מהאפשרויות הבאות:

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

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

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

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

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

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

      • כדי לסנן לפי שורות, מסמנים את התיבה סינון שורות. מזינים ביטוי SQL תקין שאפשר להשתמש בו בסעיף WHERE בתחביר GoogleSQL. לדוגמה: col1 >= 0.

        המסנן יכול להיות שילוב של תנאי SQL על פני כמה עמודות. לדוגמה: col1 >= 0 AND col2 < 10.

      • כדי לסנן לפי עמודות, מסמנים את התיבה Filter columns.

      • כדי לכלול עמודות בסריקת הפרופיל, בשדה Include columns (כלול עמודות), לוחצים על Browse (עיון). בוחרים את העמודות שרוצים לכלול ולוחצים על בחירה.

      • כדי להחריג עמודות מסריקת הפרופיל, בשדה Exclude columns (החרגת עמודות), לוחצים על Browse (עיון). בוחרים את העמודות שרוצים להחריג ולוחצים על בחירה.

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

      • במערכי נתונים גדולים, מומלץ לבחור אחוז דגימה נמוך יותר. לדוגמה, בטבלה של 1 PB, אם מזינים ערך בין 0.1% ל-1.0%, פרופיל הנתונים דוגם בין 1 ל-10 TB של נתונים.

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

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

  9. אופציונלי: מפרסמים את תוצאות הסריקה של פרופיל הנתונים בדפים של BigQuery ושל Knowledge Catalog במסוףGoogle Cloud של טבלת המקור. מסמנים את התיבה פרסום התוצאות ב-Knowledge Catalog.

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

    יכול להיות שאפשרות הפרסום לא תהיה זמינה במקרים הבאים:

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

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

    • על פי דרישה: הפעלת סריקת פרופיל הנתונים על פי דרישה.

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

      • הגדרת מחיקה אוטומטית של תוצאות אחרי סריקה: הזמן של המחיקה האוטומטית מגדיר את משך הזמן שבו סריקת פרופיל נתונים נשארת פעילה אחרי ההפעלה. סריקת פרופיל נתונים בלי זמן מוגדר למחיקה אוטומטית מוסרת באופן אוטומטי אחרי 24 שעות. אפשר להגדיר שהמחיקה האוטומטית תתבצע אחרי 0 שניות (מחיקה מיידית) ועד 365 ימים.
  11. לוחצים על Continue.

  12. אופציונלי: ייצוא תוצאות הסריקה לטבלת BigQuery רגילה. בקטע ייצוא תוצאות סריקה לטבלה ב-BigQuery:

    1. בשדה Select BigQuery dataset (בחירת מערך נתונים של BigQuery), לוחצים על Browse (עיון). בוחרים מערך נתונים ב-BigQuery שבו יישמרו תוצאות הסריקה של פרופיל הנתונים.

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

  13. אופציונלי: מוסיפים תוויות. תוויות הן צמדי מפתח/ערך שמאפשרים לקשר בין אובייקטים או ביניהם לבין משאבים אחרים של Google Cloud .

  14. כדי ליצור את הסריקה, לוחצים על יצירה.

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

gcloud

כדי ליצור סריקת פרופיל נתונים, משתמשים בפקודה gcloud dataplex datascans create data-profile.

אם נתוני המקור מאורגנים באגם של Knowledge Catalog, צריך לכלול את הדגל --data-source-entity:

gcloud dataplex datascans create data-profile DATASCAN \
--location=LOCATION \
--data-source-entity=DATA_SOURCE_ENTITY

אם נתוני המקור לא מאורגנים ב-Knowledge Catalog lake, צריך לכלול את הדגל --data-source-resource:

gcloud dataplex datascans create data-profile DATASCAN \
--location=LOCATION \
--data-source-resource=DATA_SOURCE_RESOURCE

מחליפים את המשתנים הבאים:

  • ‫DATASCAN: השם של סריקת פרופיל הנתונים.
  • ‫LOCATION: האזור ( Google Cloud ) שבו רוצים ליצור את סריקת פרופיל הנתונים.
  • ‫DATA_SOURCE_ENTITY: הישות ב-Knowledge Catalog שמכילה את הנתונים של סריקת פרופיל הנתונים. לדוגמה, projects/test-project/locations/test-location/lakes/test-lake/zones/test-zone/entities/test-entity.
  • ‫DATA_SOURCE_RESOURCE: שם המשאב שמכיל את הנתונים לסריקת פרופיל הנתונים. לדוגמה, //bigquery.googleapis.com/projects/test-project/datasets/test-dataset/tables/test-table.

C#‎

C#

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

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

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

public sealed partial class GeneratedDataScanServiceClientSnippets
{
    /// <summary>Snippet for CreateDataScan</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 CreateDataScanRequestObject()
    {
        // Create client
        DataScanServiceClient dataScanServiceClient = DataScanServiceClient.Create();
        // Initialize request argument(s)
        CreateDataScanRequest request = new CreateDataScanRequest
        {
            ParentAsLocationName = LocationName.FromProjectLocation("[PROJECT]", "[LOCATION]"),
            DataScan = new DataScan(),
            DataScanId = "",
            ValidateOnly = false,
        };
        // Make the request
        Operation<DataScan, OperationMetadata> response = dataScanServiceClient.CreateDataScan(request);

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

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

המשך

Go

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

כדי לבצע אימות לקטלוג הידע, צריך להגדיר את 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.NewDataScanClient(ctx)
	if err != nil {
		// TODO: Handle error.
	}
	defer c.Close()

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

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

Java

Java

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

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

import com.google.cloud.dataplex.v1.CreateDataScanRequest;
import com.google.cloud.dataplex.v1.DataScan;
import com.google.cloud.dataplex.v1.DataScanServiceClient;
import com.google.cloud.dataplex.v1.LocationName;

public class SyncCreateDataScan {

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

  public static void syncCreateDataScan() 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 (DataScanServiceClient dataScanServiceClient = DataScanServiceClient.create()) {
      CreateDataScanRequest request =
          CreateDataScanRequest.newBuilder()
              .setParent(LocationName.of("[PROJECT]", "[LOCATION]").toString())
              .setDataScan(DataScan.newBuilder().build())
              .setDataScanId("dataScanId1260787906")
              .setValidateOnly(true)
              .build();
      DataScan response = dataScanServiceClient.createDataScanAsync(request).get();
    }
  }
}

Python

Python

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

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

# Copyright 2026 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#      http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

import google.api_core.exceptions
from google.cloud import dataplex_v1


def create_data_profile_scan_global(
    project_id: str,
    dataset_id: str,
    table_id: str,
    location: str,
) -> None:
    """Creates a Dataplex Data Profile Scan using global API endpoint routing.

    Args:
        project_id (str): Google Cloud project ID where the scan is created.
        dataset_id (str): Target BigQuery dataset ID.
        table_id (str): Target BigQuery table ID to scan.
        location (str): Google Cloud region where serverless compute runs.
    """
    client = dataplex_v1.DataScanServiceClient()

    parent = client.common_location_path(project=project_id, location=location)

    bigquery_table = (
        f"//bigquery.googleapis.com/projects/{project_id}"
        f"/datasets/{dataset_id}/tables/{table_id}"
    )

    data_profile_spec = dataplex_v1.DataProfileSpec(sampling_percent=100.0)

    data_scan = dataplex_v1.DataScan(
        display_name="Global Data Profile Scan",
        description="Regional data profile scan generating automated table statistics.",
        data=dataplex_v1.DataSource(resource=bigquery_table),
        data_profile_spec=data_profile_spec,
    )

    request = dataplex_v1.CreateDataScanRequest(
        parent=parent,
        data_scan=data_scan,
    )

    try:
        operation = client.create_data_scan(request=request)
        print(operation.result())

    except google.api_core.exceptions.AlreadyExists:
        print("A scan with this ID already exists.")
    except google.api_core.exceptions.InvalidArgument as e:
        print(f"Your scan configuration is invalid: {e}")
    except google.api_core.exceptions.GoogleAPIError as e:
        print(f"Unexpected exception: {e}")


Ruby

Ruby

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

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

require "google/cloud/dataplex/v1"

##
# Snippet for the create_data_scan call in the DataScanService 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::DataScanService::Client#create_data_scan.
#
def create_data_scan
  # Create a client object. The client can be reused for multiple calls.
  client = Google::Cloud::Dataplex::V1::DataScanService::Client.new

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

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

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

REST

כדי ליצור סריקת פרופיל נתונים, משתמשים ב-method‏ dataScans.create.

סכימת הטבלה לייצוא

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

שם עמודה סוג הנתונים בעמודה שם שדה משנה (אם רלוונטי) סוג הנתונים של שדה משני מצב דוגמה
data_profile_scan struct/record resource_name string nullable //dataplex.googleapis.com/projects/test-project/locations/europe-west2/datascans/test-datascan
project_id string יכול להיות ריק test-project
location string יכול להיות ריק us-central1
data_scan_id string nullable test-datascan
data_source struct/record resource_name string nullable

מספר הפנייה של הישות: //dataplex.googleapis.com/projects/test-project/locations/europe-west2/lakes/test-lake/zones/test-zone/entities/test-entity

טבלה: //bigquery.googleapis.com/projects/test-project/datasets/test-dataset/tables/test-table

dataplex_entity_project_id string nullable test-project
dataplex_entity_project_number integer יכול להיות ריק 123456789012
dataplex_lake_id string nullable

(תקף רק אם המקור הוא ישות)

test-lake

dataplex_zone_id string יכול להיות ריק

(תקף רק אם המקור הוא ישות)

test-zone

dataplex_entity_id string יכול להיות ריק

(תקף רק אם המקור הוא ישות)

test-entity

table_project_id string nullable dataplex-table
table_project_number int64 יכול להיות ריק 345678901234
dataset_id string יכול להיות ריק

(תקף רק אם המקור הוא טבלה)

test-dataset

table_id string nullable

(תקף רק אם המקור הוא טבלה)

test-table

data_profile_job_id string nullable caeba234-cfde-4fca-9e5b-fe02a9812e38
data_profile_job_configuration json trigger string nullable schedule/ondemand
incremental boolean nullable false/true
sampling_percent float nullable

(0-100)

‫20.0 (מציין 20%)

row_filter string nullable col1 >= 0 AND col2 < 10
column_filter json nullable {"include_fields":["col1","col2"], "exclude_fields":["col3"]}
job_labels json nullable {"key1":value1}
job_start_time timestamp יכול להיות ריק 2023-01-01 00:00:00 UTC
job_end_time timestamp יכול להיות ריק 2023-01-01 00:00:00 UTC
job_rows_scanned integer nullable 7500
column_name string nullable column-1
column_type string יכול להיות ריק string
column_mode string nullable repeated
percent_null float nullable

(0.0-100.0)

‫20.0 (מציין 20%)

percent_unique float nullable

(0.0-100.0)

92.5

min_string_length integer יכול להיות ריק

(תקף רק אם סוג העמודה הוא מחרוזת)

10

max_string_length integer יכול להיות ריק

(ההגדרה תקפה רק אם סוג העמודה הוא מחרוזת)

4

average_string_length float יכול להיות ריק

(תקף רק אם סוג העמודה הוא מחרוזת)

7.2

min_value float nullable (תקף רק אם סוג העמודה הוא מספרי – מספר שלם/מספר ממשי)
max_value float nullable (תקף רק אם סוג העמודה הוא מספרי – מספר שלם/מספר ממשי)
average_value float nullable (תקף רק אם סוג העמודה הוא מספרי – מספר שלם/מספר ממשי)
standard_deviation float יכול להיות ריק (תקף רק אם סוג העמודה הוא מספרי – מספר שלם או מספר עשרוני)
quartile_lower integer nullable (תקף רק אם סוג העמודה הוא מספרי – מספר שלם או מספר עשרוני)
quartile_median integer nullable (תקף רק אם סוג העמודה הוא מספרי – מספר שלם או מספר עשרוני)
quartile_upper integer nullable (תקף רק אם סוג העמודה הוא מספרי – מספר שלם או מספר עשרוני)
top_n struct/record - repeated value string nullable "4009"
count integer יכול להיות ריק 20
percent float nullable 10 (מציין 10%)

הגדרת טבלת הייצוא

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

  • בשדה resultsTable, משתמשים בפורמט: //bigquery.googleapis.com/projects/{project-id}/datasets/{dataset-id}/tables/{table-id}.
  • שימוש בטבלה רגילה ב-BigQuery.
  • אם הטבלה לא קיימת כשיוצרים או מעדכנים את הסריקה, המערכת של Knowledge Catalog יוצרת את הטבלה בשבילכם.
  • כברירת מחדל, הטבלה מחולקת למחיצות לפי העמודה job_start_time מדי יום.
  • אם אתם רוצים לחלק את הטבלה למחיצות בהגדרות אחרות, או אם אתם לא רוצים לחלק אותה למחיצות, אתם צריכים ליצור מחדש את הטבלה עם הסכימה וההגדרות הנדרשות, ואז לספק את הטבלה שנוצרה מראש כטבלת התוצאות.
  • חשוב לוודא שטבלת התוצאות נמצאת באותו מיקום כמו טבלת המקור.
  • אם VPC-SC מוגדר בפרויקט, טבלת התוצאות צריכה להיות באותו גבול גזרה של VPC-SC כמו טבלת המקור.
  • אם הטבלה משתנה במהלך שלב הסריקה, המשימה שפועלת כרגע מייצאת לטבלת התוצאות הקודמת, והשינוי בטבלה נכנס לתוקף ממשימת הסריקה הבאה.
  • לא לשנות את סכימת הטבלה. אם אתם צריכים עמודות בהתאמה אישית, צרו תצוגה בטבלה.
  • כדי להפחית את העלויות, כדאי להגדיר תפוגה למחיצה בהתאם לתרחיש השימוש. מידע נוסף זמין במאמר הגדרת תפוגה למחיצה.

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

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

  1. במסוף Google Cloud , נכנסים לדף Knowledge Catalog ‏Data profiling & quality.

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

  2. לוחצים על יצירת סריקה של פרופיל נתונים.

  3. בוחרים באפשרות סריקות מרובות של פרופילים של נתונים.

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

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

  6. בשדה מערך נתונים, לוחצים על עיון. בוחרים קבוצת נתונים שממנה רוצים לבחור טבלאות. לוחצים על Select.

  7. אם קבוצת הנתונים היא רב-אזורית, בוחרים אזור שבו ייסרקו פרופילי הנתונים.

  8. בקטע מצב, בוחרים באחת מהאפשרויות הבאות:

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

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

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

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

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

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

      בוחרים ערך באחוזים בין 0.0% ל-100.0% עם עד 3 ספרות אחרי הנקודה העשרונית.

  10. אופציונלי: פרסום התוצאות של סריקת פרופיל הנתונים בדפים BigQuery ו-Knowledge Catalog במסוףGoogle Cloud של טבלת המקור. מסמנים את תיבת הסימון פרסום התוצאות ב-Knowledge Catalog.

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

  11. בקטע לוח זמנים, בוחרים אחת מהאפשרויות הבאות:

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

    • על פי דרישה: הפעלת סריקות של פרופיל הנתונים על פי דרישה.

      • ‫One-time run: הפעלה של סריקת פרופיל הנתונים פעם אחת עכשיו, והסרת הסריקה אחרי זמן המחיקה האוטומטית. התכונה הזו נמצאת בגרסת טרום-השקה.

        • הגדרת מחיקה אוטומטית של תוצאות אחרי סריקה: הזמן למחיקה אוטומטית מגדיר את משך הזמן שבו סריקת פרופיל נתונים נשארת פעילה אחרי ההפעלה. סריקת פרופיל נתונים ללא הגדרת זמן למחיקה אוטומטית מוסרת אוטומטית אחרי 24 שעות. פרק הזמן של המחיקה האוטומטית יכול להיות בין 0 שניות (מחיקה מיידית) ל-365 ימים.
  12. לוחצים על Continue.

  13. בשדה Choose tables, לוחצים על Browse. בוחרים טבלה אחת או יותר לסריקה ולוחצים על בחירה.

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

  15. אופציונלי: ייצוא תוצאות הסריקה לטבלת BigQuery רגילה. בקטע ייצוא תוצאות סריקה לטבלה ב-BigQuery:

    1. בשדה Select BigQuery dataset (בחירת מערך נתונים של BigQuery), לוחצים על Browse (עיון). בוחרים מערך נתונים ב-BigQuery שבו יישמרו תוצאות הסריקה של פרופיל הנתונים.

    2. בשדה BigQuery table (טבלה ב-BigQuery), מציינים את הטבלה שבה יאוחסנו התוצאות של סריקת פרופיל הנתונים. אם משתמשים בטבלה קיימת, צריך לוודא שהיא תואמת לסכימת טבלת הייצוא. אם הטבלה שצוינה לא קיימת, Knowledge Catalog יוצר אותה בשבילכם.

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

  16. אופציונלי: מוסיפים תוויות. תוויות הן צמדי מפתח/ערך שמאפשרים לקבץ אובייקטים קשורים או לקבץ אותם עם משאבים אחרים של Google Cloud .

  17. כדי ליצור את הסריקות, לוחצים על יצירה.

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

הפעלת סריקת פרופיל נתונים

המסוף

  1. במסוף Google Cloud , נכנסים לדף Data profiling & quality ב-Knowledge Catalog.

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

  2. לוחצים על סריקת פרופיל הנתונים כדי להריץ אותה.
  3. לוחצים על הפעלה מיידית.

gcloud

כדי להריץ סריקה של פרופיל נתונים, משתמשים בפקודה gcloud dataplex datascans run:

gcloud dataplex datascans run DATASCAN \
--location=LOCATION

מחליפים את המשתנים הבאים:

  • ‫DATASCAN: השם של סריקת פרופיל הנתונים.
  • ‫LOCATION: האזור Google Cloud שבו נוצרה סריקת פרופיל הנתונים.

C#‎

C#

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

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

using Google.Cloud.Dataplex.V1;

public sealed partial class GeneratedDataScanServiceClientSnippets
{
    /// <summary>Snippet for RunDataScan</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 RunDataScanRequestObject()
    {
        // Create client
        DataScanServiceClient dataScanServiceClient = DataScanServiceClient.Create();
        // Initialize request argument(s)
        RunDataScanRequest request = new RunDataScanRequest
        {
            DataScanName = DataScanName.FromProjectLocationDataScan("[PROJECT]", "[LOCATION]", "[DATASCAN]"),
        };
        // Make the request
        RunDataScanResponse response = dataScanServiceClient.RunDataScan(request);
    }
}

המשך

Go

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

כדי לבצע אימות לקטלוג הידע, צריך להגדיר את 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.NewDataScanClient(ctx)
	if err != nil {
		// TODO: Handle error.
	}
	defer c.Close()

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

Java

Java

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

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

import com.google.cloud.dataplex.v1.DataScanName;
import com.google.cloud.dataplex.v1.DataScanServiceClient;
import com.google.cloud.dataplex.v1.RunDataScanRequest;
import com.google.cloud.dataplex.v1.RunDataScanResponse;

public class SyncRunDataScan {

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

  public static void syncRunDataScan() 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 (DataScanServiceClient dataScanServiceClient = DataScanServiceClient.create()) {
      RunDataScanRequest request =
          RunDataScanRequest.newBuilder()
              .setName(DataScanName.of("[PROJECT]", "[LOCATION]", "[DATASCAN]").toString())
              .build();
      RunDataScanResponse response = dataScanServiceClient.runDataScan(request);
    }
  }
}

Python

Python

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

כדי לבצע אימות לקטלוג הידע, צריך להגדיר את 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_run_data_scan():
    # Create a client
    client = dataplex_v1.DataScanServiceClient()

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

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

    # Handle the response
    print(response)

Ruby

Ruby

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

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

require "google/cloud/dataplex/v1"

##
# Snippet for the run_data_scan call in the DataScanService 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::DataScanService::Client#run_data_scan.
#
def run_data_scan
  # Create a client object. The client can be reused for multiple calls.
  client = Google::Cloud::Dataplex::V1::DataScanService::Client.new

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

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

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

REST

כדי להריץ סריקת פרופיל נתונים, משתמשים ב-dataScans.run method.

Airflow

כדי להריץ סריקה של פרופיל נתונים באמצעות Directed Acyclic Graph‏ (DAG) ב-Managed Service for Apache Airflow‏ (Cloud Composer), משתמשים ב-DataplexRunDataProfileScanOperator:

from datetime import datetime
from airflow import DAG
from airflow.providers.google.cloud.operators.dataplex import DataplexRunDataProfileScanOperator

with DAG(
  "dataplex_data_profile_scan",
  start_date=datetime(2026, 1, 1),
  schedule_interval="@daily",
  catchup=False,
) as dag:

  run_profile_scan = DataplexRunDataProfileScanOperator(
      task_id="run_dataplex_profile_scan",
      project_id="PROJECT_ID",
      region="REGION",
      data_scan_id="DATASCAN_ID",
  )

מחליפים את המשתנים הבאים:

  • ‫PROJECT_ID: מזהה הפרויקט ב- Google Cloud .
  • ‫REGION: Google Cloud האזור שבו נוצרה סריקת פרופיל הנתונים.
  • ‫DATASCAN_ID: המזהה של סריקת פרופיל הנתונים.

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

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

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

כדי לקבל את ההרשאות שנדרשות לביטול משימה של סריקת פרופיל נתונים, בקשו מהאדמין להקצות לכם את התפקיד עריכה ב-Dataplex ‏ (roles/dataplex.editor) או אדמין של Dataplex DataScan ‏ (roles/dataplex.dataScanAdmin) ב-IAM בפרויקט.

ביטול משימה

אפשר לבטל עבודת סריקה של פרופיל נתונים שנמצאת בתהליך או בהמתנה באמצעות REST API.

המסוף

  1. במסוף Google Cloud , נכנסים לדף Data profiling & quality.

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

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

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

  4. לוחצים על הלחצן Cancel (ביטול) שמשויך לעבודה.

REST

משתמשים ב-method‏ projects.locations.dataScans.jobs.cancel.

POST https://dataplex.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/dataScans/DATASCAN_ID/jobs/JOB_ID:cancel

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

  • ‫PROJECT_ID: מזהה הפרויקט.
  • ‫LOCATION: האזור שבו נמצא סריקת הנתונים.
  • ‫DATASCAN_ID: המזהה של סריקת הנתונים.
  • ‫JOB_ID: המזהה של המשימה שרוצים לבטל.

צפייה בתוצאות של סריקת פרופיל נתונים

המסוף

  1. במסוף Google Cloud , נכנסים לדף Data profiling & quality ב-Knowledge Catalog.

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

  2. לוחצים על השם של סריקת פרופיל נתונים.

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

    • בקטע Data profile scan configuration מוצגים פרטים על הסריקה.

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

gcloud

כדי לראות את התוצאות של משימת סריקת פרופיל נתונים, משתמשים בפקודה gcloud dataplex datascans jobs describe:

gcloud dataplex datascans jobs describe JOB \
--location=LOCATION \
--datascan=DATASCAN \
--view=FULL

מחליפים את המשתנים הבאים:

  • ‫JOB: מזהה המשימה של עבודת סריקת פרופיל הנתונים.
  • ‫LOCATION: האזור Google Cloud שבו נוצרה סריקת פרופיל הנתונים.
  • ‫DATASCAN: השם של סריקת פרופיל הנתונים שהעבודה שייכת לה.
  • ‫--view=FULL: כדי לראות את תוצאת עבודת הסריקה, מציינים FULL.

C#‎

C#

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

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

using Google.Cloud.Dataplex.V1;

public sealed partial class GeneratedDataScanServiceClientSnippets
{
    /// <summary>Snippet for GetDataScan</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 GetDataScanRequestObject()
    {
        // Create client
        DataScanServiceClient dataScanServiceClient = DataScanServiceClient.Create();
        // Initialize request argument(s)
        GetDataScanRequest request = new GetDataScanRequest
        {
            DataScanName = DataScanName.FromProjectLocationDataScan("[PROJECT]", "[LOCATION]", "[DATASCAN]"),
            View = GetDataScanRequest.Types.DataScanView.Unspecified,
        };
        // Make the request
        DataScan response = dataScanServiceClient.GetDataScan(request);
    }
}

המשך

Go

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

כדי לבצע אימות לקטלוג הידע, צריך להגדיר את 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.NewDataScanClient(ctx)
	if err != nil {
		// TODO: Handle error.
	}
	defer c.Close()

	req := &dataplexpb.GetDataScanRequest{
		// TODO: Fill request struct fields.
		// See https://pkg.go.dev/cloud.google.com/go/dataplex/apiv1/dataplexpb#GetDataScanRequest.
	}
	resp, err := c.GetDataScan(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.DataScan;
import com.google.cloud.dataplex.v1.DataScanName;
import com.google.cloud.dataplex.v1.DataScanServiceClient;
import com.google.cloud.dataplex.v1.GetDataScanRequest;

public class SyncGetDataScan {

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

  public static void syncGetDataScan() 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 (DataScanServiceClient dataScanServiceClient = DataScanServiceClient.create()) {
      GetDataScanRequest request =
          GetDataScanRequest.newBuilder()
              .setName(DataScanName.of("[PROJECT]", "[LOCATION]", "[DATASCAN]").toString())
              .build();
      DataScan response = dataScanServiceClient.getDataScan(request);
    }
  }
}

Python

Python

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

כדי לבצע אימות לקטלוג הידע, צריך להגדיר את 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_data_scan():
    # Create a client
    client = dataplex_v1.DataScanServiceClient()

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

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

    # Handle the response
    print(response)

Ruby

Ruby

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

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

require "google/cloud/dataplex/v1"

##
# Snippet for the get_data_scan call in the DataScanService 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::DataScanService::Client#get_data_scan.
#
def get_data_scan
  # Create a client object. The client can be reused for multiple calls.
  client = Google::Cloud::Dataplex::V1::DataScanService::Client.new

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

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

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

REST

כדי לראות את התוצאות של סריקת פרופיל נתונים, משתמשים ב-method dataScans.get.

צפייה בתוצאות שפורסמו

אם תוצאות סריקת פרופיל הנתונים מתפרסמות בדפים של BigQuery ו-Knowledge Catalog במסוף Google Cloud , אפשר לראות את תוצאות הסריקה האחרונות בכרטיסייה Data profile של טבלת המקור.

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

    לחיפוש Google

  2. מחפשים את הטבלה ובוחרים אותה.

  3. לוחצים על הכרטיסייה פרופיל נתונים.

    מוצגות התוצאות האחרונות שפורסמו.

צפייה במשימת הסריקה האחרונה של פרופיל הנתונים

המסוף

  1. במסוף Google Cloud , נכנסים לדף Data profiling & quality ב-Knowledge Catalog.

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

  2. לוחצים על השם של סריקת פרופיל נתונים.

  3. לוחצים על הכרטיסייה תוצאות המשימה האחרונה.

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

gcloud

כדי לראות את סריקת פרופיל הנתונים האחרונה שהסתיימה בהצלחה, משתמשים בפקודה gcloud dataplex datascans describe:

gcloud dataplex datascans describe DATASCAN \
--location=LOCATION \
--view=FULL

מחליפים את המשתנים הבאים:

  • ‫DATASCAN: השם של סריקת פרופיל הנתונים שרוצים לראות את העבודה האחרונה שלה.
  • ‫LOCATION: האזור שבו נוצרה סריקת Google Cloud פרופיל הנתונים.
  • ‫--view=FULL: כדי לראות את תוצאת עבודת הסריקה, מציינים FULL.

REST

כדי לראות את משימת הסריקה האחרונה, משתמשים ב-method dataScans.get.

צפייה בתוצאות היסטוריות של סריקות

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

המסוף

  1. במסוף Google Cloud , נכנסים לדף Knowledge Catalog ‏Data profiling & quality.

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

  2. לוחצים על השם של סריקת פרופיל נתונים.

  3. לוחצים על הכרטיסייה Jobs history.

    בכרטיסייה היסטוריית העבודות מופיע מידע על עבודות קודמות, כמו מספר הרשומות שנסרקו בכל עבודה, סטטוס העבודה והשעה שבה העבודה הופעלה.

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

gcloud

כדי להציג את המשימות ההיסטוריות של סריקת פרופיל הנתונים, משתמשים בפקודה gcloud dataplex datascans jobs list:

gcloud dataplex datascans jobs list \
--location=LOCATION \
--datascan=DATASCAN

מחליפים את המשתנים הבאים:

  • ‫LOCATION: ה Google Cloud אזור שבו נוצרה סריקת פרופיל הנתונים.
  • ‫DATASCAN: השם של סריקת פרופיל הנתונים שעבורה רוצים להציג את המשימות.

C#‎

C#

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

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

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

public sealed partial class GeneratedDataScanServiceClientSnippets
{
    /// <summary>Snippet for ListDataScanJobs</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 ListDataScanJobsRequestObject()
    {
        // Create client
        DataScanServiceClient dataScanServiceClient = DataScanServiceClient.Create();
        // Initialize request argument(s)
        ListDataScanJobsRequest request = new ListDataScanJobsRequest
        {
            ParentAsDataScanName = DataScanName.FromProjectLocationDataScan("[PROJECT]", "[LOCATION]", "[DATASCAN]"),
            Filter = "",
        };
        // Make the request
        PagedEnumerable<ListDataScanJobsResponse, DataScanJob> response = dataScanServiceClient.ListDataScanJobs(request);

        // Iterate over all response items, lazily performing RPCs as required
        foreach (DataScanJob 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 (ListDataScanJobsResponse page in response.AsRawResponses())
        {
            // Do something with each page of items
            Console.WriteLine("A page of results:");
            foreach (DataScanJob 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<DataScanJob> 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 (DataScanJob 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.

כדי לבצע אימות לקטלוג הידע, צריך להגדיר את 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.NewDataScanClient(ctx)
	if err != nil {
		// TODO: Handle error.
	}
	defer c.Close()

	req := &dataplexpb.ListDataScanJobsRequest{
		// TODO: Fill request struct fields.
		// See https://pkg.go.dev/cloud.google.com/go/dataplex/apiv1/dataplexpb#ListDataScanJobsRequest.
	}
	it := c.ListDataScanJobs(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.ListDataScanJobsResponse)
	}
}

Java

Java

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

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

import com.google.cloud.dataplex.v1.DataScanJob;
import com.google.cloud.dataplex.v1.DataScanName;
import com.google.cloud.dataplex.v1.DataScanServiceClient;
import com.google.cloud.dataplex.v1.ListDataScanJobsRequest;

public class SyncListDataScanJobs {

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

  public static void syncListDataScanJobs() 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 (DataScanServiceClient dataScanServiceClient = DataScanServiceClient.create()) {
      ListDataScanJobsRequest request =
          ListDataScanJobsRequest.newBuilder()
              .setParent(DataScanName.of("[PROJECT]", "[LOCATION]", "[DATASCAN]").toString())
              .setPageSize(883849137)
              .setPageToken("pageToken873572522")
              .setFilter("filter-1274492040")
              .build();
      for (DataScanJob element : dataScanServiceClient.listDataScanJobs(request).iterateAll()) {
        // doThingsWith(element);
      }
    }
  }
}

Python

Python

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

כדי לבצע אימות לקטלוג הידע, צריך להגדיר את 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_data_scan_jobs():
    # Create a client
    client = dataplex_v1.DataScanServiceClient()

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

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

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

Ruby

Ruby

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

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

require "google/cloud/dataplex/v1"

##
# Snippet for the list_data_scan_jobs call in the DataScanService 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::DataScanService::Client#list_data_scan_jobs.
#
def list_data_scan_jobs
  # Create a client object. The client can be reused for multiple calls.
  client = Google::Cloud::Dataplex::V1::DataScanService::Client.new

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

  # Call the list_data_scan_jobs method.
  result = client.list_data_scan_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::DataScanJob.
    p item
  end
end

REST

כדי לראות את המשימות ההיסטוריות של סריקת פרופיל הנתונים, משתמשים בשיטה dataScans.jobs.list.

סטטוסים של משרות

למשימות סריקת נתונים יכולים להיות הסטטוסים הבאים:

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

  • ‫RUNNING: המשימה פועלת.

  • ‫CANCELING: המשימה מתבטלת.

  • ‫CANCELLED: המשימה בוטלה.

  • ‫SUCCEEDED: המשימה הושלמה בהצלחה. סטטוס ההשלמה עשוי להופיע באיחור של עד 60 שניות מההשלמה בפועל של השאילתה, בגלל שלבים של עיבוד לאחר השאילתה, כמו צבירה וסנכרון מטא-נתונים.

  • ‫FAILED: המשימה נכשלה בגלל שגיאה. יכול להיות שיהיה עיכוב של עד 60 שניות בין השלמת השאילתה בפועל לבין עדכון סטטוס ההשלמה, בגלל שלבי עיבוד שלאחר מכן, כמו צבירה וסנכרון מטא-נתונים.

  • ‫SUCCEEDED_WITH_ERRORS: העבודה הושלמה בהצלחה, אבל חלק מהשגיאות מתרחשות במהלך ההרצה.

שיטות מומלצות לניטור

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

  • הימנעות מבדיקות תכופות מדי: לא מומלץ לבצע בדיקות תכופות מדי (לדוגמה, הפעלת GetJob או פעולה מקבילה כל שנייה עד 5 שניות). תשאול אגרסיבי מבזבז את מכסת השימוש ב-API ולא מזרז את מעברי המצבים.

  • שימוש בהשהיה מעריכית לפני ניסיון חוזר (exponential backoff): אם אי אפשר להימנע מבדיקות חוזרות, צריך להשתמש בהשהיה מעריכית לפני ניסיון חוזר, החל מ-10 עד 15 שניות.

  • שימוש בהפרדה אסינכרונית מבוססת-אירועים (מומלץ): במקום לבצע סקר סינכרוני של API, אפשר להשתמש בטריגרים של Eventarc שמקשיבים ליומני ביקורת של Cloud (cloudaudit.googleapis.com). אפשר להשתמש בטריגרים האלה כדי להפעיל תהליכי עבודה במורד הזרם מיד אחרי אירועי השלמת העבודה של DataScan. הגישה הזו עוקפת את מגבלות הסקרים של ה-API, חוסכת במכסה ומפחיתה את זמן האחזור הנתפס.

מתן גישה לתוצאות של סריקת פרופיל נתונים

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

  1. במסוף Google Cloud , נכנסים לדף Data profiling & quality ב-Knowledge Catalog.

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

  2. לוחצים על סריקת פרופיל הנתונים שרוצים לשתף את התוצאות שלה.

  3. לוחצים על הכרטיסייה Permissions.

  4. מבצעים את הפעולות הבאות:

    • כדי לתת גישה לחשבון משתמש, לוחצים על Grant access. מקצים את התפקיד Dataplex DataScan DataViewer לחשבון המשתמש המשויך.
    • כדי להסיר את הגישה מחשבון משתמש, בוחרים את החשבון שרוצים להסיר ממנו את התפקיד Dataplex DataScan DataViewer. לוחצים על הסרת הגישה ומאשרים כשמוצגת בקשה.

ניהול סריקות של פרופיל נתונים לטבלה ספציפית

השלבים במאמר הזה מראים איך לנהל את סריקות פרופיל הנתונים בפרויקט באמצעות הדף Data profiling & quality של Knowledge Catalog במסוף Google Cloud .

אתם יכולים גם ליצור סריקות של פרופיל נתונים ולנהל אותן כשאתם עובדים עם טבלה ספציפית. במסוף Google Cloud , בדף Knowledge Catalog של הטבלה, משתמשים בכרטיסייה Data profile. מבצעים את הפעולות הבאות:

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

    מעבר לחיפוש

    מחפשים את הטבלה ובוחרים אותה.

  2. לוחצים על הכרטיסייה פרופיל נתונים.

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

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

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

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

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

      • הצגת פרופילים קודמים: הצגת רשימה של סריקות פרופיל נתונים שרלוונטיות לטבלה הזו.

עדכון של סריקת פרופיל נתונים

המסוף

  1. במסוף Google Cloud , נכנסים לדף Knowledge Catalog ‏Data profiling & quality.

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

  2. לוחצים על השם של סריקת פרופיל נתונים.

  3. לוחצים על עריכה ועורכים את הערכים.

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

gcloud

כדי לעדכן סריקת פרופיל נתונים, משתמשים בפקודה gcloud dataplex datascans update data-profile:

gcloud dataplex datascans update data-profile DATASCAN \
--location=LOCATION \
--description=DESCRIPTION

מחליפים את המשתנים הבאים:

  • ‫DATASCAN: השם של סריקת פרופיל הנתונים שרוצים לעדכן.
  • ‫LOCATION: האזור ב- Google Cloud שבו נוצרה סריקת פרופיל הנתונים.
  • ‫DESCRIPTION: התיאור החדש של סריקת פרופיל הנתונים.

C#‎

C#

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

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

using Google.Cloud.Dataplex.V1;
using Google.LongRunning;
using Google.Protobuf.WellKnownTypes;

public sealed partial class GeneratedDataScanServiceClientSnippets
{
    /// <summary>Snippet for UpdateDataScan</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 UpdateDataScanRequestObject()
    {
        // Create client
        DataScanServiceClient dataScanServiceClient = DataScanServiceClient.Create();
        // Initialize request argument(s)
        UpdateDataScanRequest request = new UpdateDataScanRequest
        {
            DataScan = new DataScan(),
            UpdateMask = new FieldMask(),
            ValidateOnly = false,
        };
        // Make the request
        Operation<DataScan, OperationMetadata> response = dataScanServiceClient.UpdateDataScan(request);

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

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

המשך

Go

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

כדי לבצע אימות לקטלוג הידע, צריך להגדיר את 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.NewDataScanClient(ctx)
	if err != nil {
		// TODO: Handle error.
	}
	defer c.Close()

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

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

Java

Java

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

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

import com.google.cloud.dataplex.v1.DataScan;
import com.google.cloud.dataplex.v1.DataScanServiceClient;
import com.google.cloud.dataplex.v1.UpdateDataScanRequest;
import com.google.protobuf.FieldMask;

public class SyncUpdateDataScan {

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

  public static void syncUpdateDataScan() 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 (DataScanServiceClient dataScanServiceClient = DataScanServiceClient.create()) {
      UpdateDataScanRequest request =
          UpdateDataScanRequest.newBuilder()
              .setDataScan(DataScan.newBuilder().build())
              .setUpdateMask(FieldMask.newBuilder().build())
              .setValidateOnly(true)
              .build();
      DataScan response = dataScanServiceClient.updateDataScanAsync(request).get();
    }
  }
}

Python

Python

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

כדי לבצע אימות לקטלוג הידע, צריך להגדיר את 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_update_data_scan():
    # Create a client
    client = dataplex_v1.DataScanServiceClient()

    # Initialize request argument(s)
    data_scan = dataplex_v1.DataScan()
    data_scan.data.entity = "entity_value"

    request = dataplex_v1.UpdateDataScanRequest(
        data_scan=data_scan,
    )

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

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

    response = operation.result()

    # Handle the response
    print(response)

Ruby

Ruby

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

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

require "google/cloud/dataplex/v1"

##
# Snippet for the update_data_scan call in the DataScanService 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::DataScanService::Client#update_data_scan.
#
def update_data_scan
  # Create a client object. The client can be reused for multiple calls.
  client = Google::Cloud::Dataplex::V1::DataScanService::Client.new

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

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

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

REST

כדי לערוך סריקת פרופיל נתונים, משתמשים ב-dataScans.patch method.

מחיקת סריקת פרופיל נתונים

המסוף

  1. במסוף Google Cloud , נכנסים לדף Data profiling & quality ב-Knowledge Catalog.

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

  2. לוחצים על הסריקה שרוצים למחוק.

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

gcloud

כדי למחוק סריקה של פרופיל נתונים, משתמשים בפקודה gcloud dataplex datascans delete:

gcloud dataplex datascans delete DATASCAN \
--location=LOCATION --async

מחליפים את המשתנים הבאים:

  • ‫DATASCAN: השם של סריקת פרופיל הנתונים שרוצים למחוק.
  • ‫LOCATION: האזור שבו נוצרה סריקת Google Cloud פרופיל הנתונים.

REST

כדי למחוק סריקת פרופיל נתונים, משתמשים בשיטה dataScans.delete.

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