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

במאמר הזה מוסבר איך לראות את המטא-נתונים של קובץ snapshot של טבלה ב-BigQuery ב Cloud de Confiance מסוף, באמצעות שליחת שאילתה בתצוגה TABLE_SNAPSHOTS של הטבלה INFORMATION_SCHEMA, באמצעות הפקודה bq show או באמצעות קריאה ל-API‏ tables.get. המאמר מיועד למשתמשים שמכירים טבלאות ותמונות מצב של טבלאות ב-BigQuery.

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

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

הרשאות

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

הרשאה משאב
bigquery.tables.get ‫Snapshot של הטבלה

תפקידים

התפקידים המוגדרים מראש ב-BigQuery שכוללים את ההרשאה הנדרשת הם:

תפקיד משאב
אחת מהאפשרויות הבאות:

bigquery.metadataViewer
bigquery.dataViewer
bigquery.dataEditor
bigquery.dataOwner
bigquery.admin
‫Snapshot של הטבלה

אחזור מטא-נתונים של תמונת מצב של טבלה

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

  • שדה baseTableReference נוסף מזהה את טבלת הבסיס שממנה נוצרה התמונה.
  • הערך בשדה type הוא SNAPSHOT.

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

המסוף

  1. במסוף Cloud de Confiance , עוברים לדף BigQuery.

    כניסה ל-BigQuery

  2. בחלונית הימנית, לוחצים על כלי הניתוחים:

    כפתור מודגש לחלונית הסייר.

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

  3. בחלונית Explorer, מרחיבים את הפרויקט, לוחצים על Datasets ואז לוחצים על מערך הנתונים שמכיל את תמונת המצב של הטבלה.

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

  5. בחלונית התמונה שמופיעה, אפשר:

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

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

SQL

כדי לראות את המטא-נתונים של תמונת מצב של טבלה, מריצים שאילתה בתצוגה INFORMATION_SCHEMA.TABLE_SNAPSHOTS:

  1. במסוף Cloud de Confiance , עוברים לדף BigQuery.

    כניסה ל-BigQuery

  2. מזינים את ההצהרה הבאה בעורך השאילתות:

    SELECT
      *
    FROM
      PROJECT_ID.DATASET_NAME.INFORMATION_SCHEMA.TABLE_SNAPSHOTS
    WHERE
      table_name = 'SNAPSHOT_NAME';

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

    • PROJECT_ID: מזהה הפרויקט שמכיל את התמונה.
    • DATASET_NAME: השם של מערך הנתונים שמכיל את ה-snapshot.
    • SNAPSHOT_NAME: שם ה-snapshot.

  3. לוחצים על הפעלה.

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

BQ

מזינים את הפקודה הבאה ב-Cloud Shell:

כניסה ל-Cloud Shell

bq show \
--format=prettyjson \
PROJECT_ID:DATASET_NAME.SNAPSHOT_NAME

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

  • PROJECT_ID: מזהה הפרויקט שמכיל את התמונה.
  • DATASET_NAME: השם של מערך הנתונים שמכיל את ה-snapshot.
  • SNAPSHOT_NAME: שם ה-snapshot.

הפלט אמור להיראות כך:

{
  "creationTime": "1593194331936",
   ...
  "snapshotDefinition": {
    "baseTableReference": {
      "datasetId": "myDataset",
      "projectId": "myProject",
      "tableId": "mytable"
    },
    "snapshotTime": "2020-06-26T17:58:50.815Z"
  },
  "tableReference": {
    "datasetId": "otherDataset",
    "projectId": "myProject",
    "tableId": "mySnapshot"
  },
  "type": "SNAPSHOT"
}

API

מבצעים קריאה ל-method‏ tables.get עם הפרמטרים הבאים:

פרמטר ערך
projectId מזהה הפרויקט שמכיל את תמונת המצב.
datasetId השם של מערך הנתונים שמכיל את תמונת המצב.
tableId שם התמונה.

גוף התשובה אמור להיראות כך:

{
  "kind": "bigquery#table",
  "etag": "...",
  "id": "myProject:myDataset.mySnapshot",
  "selfLink": "https://content-bigquery.googleapis.com/bigquery/v2/projects/myProject/datasets/myDataset/tables/mySnapshot",
  "tableReference": {
    "projectId": "myProject",
    "datasetId": "myDataset",
    "tableId": "mySnapshot"
  },
  "description": "...",
  "schema": {
    "fields": [
      ...
    ]
  },
  "numBytes": "637931",
  "numLongTermBytes": "0",
  "numRows": "33266",
  "creationTime": "1593194331936",
  "lastModifiedTime": "1593194331936",
  "type": "SNAPSHOT",
  "location": "US",
  "snapshotDefinition": {
    "baseTableReference": {
      "projectId": "myProject",
      "datasetId": "otherDataset",
      "tableId": "myTable"
    },
    "snapshotTime": "2020-06-26T17:58:50.815Z"
  }
}

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