הצגת מטא-נתונים של תמונת מצב של טבלה
במאמר הזה מוסבר איך לראות את המטא-נתונים של תמונת מצב של טבלה ב-BigQuery ב Google Cloud מסוף, באמצעות שאילתה של התצוגה TABLE_SNAPSHOTS של הטבלה INFORMATION_SCHEMA, באמצעות הפקודה bq show או באמצעות קריאה ל-API tables.get.
המאמר מיועד למשתמשים שמכירים את הטבלאות ואת תמונות המצב של הטבלאות ב-BigQuery.
הרשאות ותפקידים
בקטע הזה מתוארת ההרשאה ב-IAM שנדרשת כדי להציג את המטא-נתונים של תמונת מצב של טבלה, והתפקידים המוגדרים מראש ב-IAM שמעניקים את ההרשאות האלה.
הרשאות
כדי להציג את המטא-נתונים של תמונת מצב של טבלה, נדרשת ההרשאה הבאה:
| הרשאה | משאב |
|---|---|
bigquery.tables.get
|
Snapshot של הטבלה |
תפקידים
התפקידים המוגדרים מראש ב-BigQuery שכוללים את ההרשאה הנדרשת הם:
| תפקיד | משאב |
|---|---|
אחת מהאפשרויות הבאות:bigquery.metadataViewerbigquery.dataViewerbigquery.dataEditorbigquery.dataOwnerbigquery.admin
|
Snapshot של הטבלה |
אחזור מטא-נתונים של תמונת מצב של טבלה
המטא-נתונים של תמונת מצב של טבלה דומים למטא-נתונים של טבלה רגילה, עם ההבדלים הבאים:
- שדה
baseTableReferenceנוסף מזהה את טבלת הבסיס שממנה נוצרה התמונה. - הערך בשדה
typeהואSNAPSHOT.
כדי לראות את המטא-נתונים של תמונת מצב של טבלה, אפשר להשתמש באחת מהאפשרויות הבאות:
המסוף
במסוף Google Cloud , עוברים לדף BigQuery.
בחלונית הימנית, לוחצים על כלי הניתוחים:

אם החלונית הימנית לא מוצגת, לוחצים על הרחבת החלונית הימנית כדי לפתוח אותה.
בחלונית Explorer, מרחיבים את הפרויקט, לוחצים על Datasets ואז לוחצים על מערך הנתונים שמכיל את תמונת המצב של הטבלה.
לוחצים על סקירה כללית > טבלאות ואז על השם של תמונת מצב של הטבלה.
בחלונית התמונה שמופיעה, אפשר:
לוחצים על הכרטיסייה סכימה כדי לראות את הסכימה של תמונת המצב של הטבלה ואת תגי המדיניות.
לוחצים על הטבלה פרטים כדי לראות את הגודל, התפוגה, טבלת הבסיס, שעת הצילום ומידע נוסף של תמונת המצב של הטבלה.
SQL
כדי לראות את המטא-נתונים של תמונת מצב של טבלה, מריצים שאילתה בתצוגה INFORMATION_SCHEMA.TABLE_SNAPSHOTS:
במסוף Google Cloud , עוברים לדף BigQuery.
מזינים את ההצהרה הבאה בעורך השאילתות:
SELECT * FROM PROJECT_ID.DATASET_NAME.INFORMATION_SCHEMA.TABLE_SNAPSHOTS WHERE table_name = 'SNAPSHOT_NAME';
מחליפים את מה שכתוב בשדות הבאים:
-
PROJECT_ID: מזהה הפרויקט שמכיל את התמונה. -
DATASET_NAME: השם של מערך הנתונים שמכיל את ה-snapshot. -
SNAPSHOT_NAME: השם של קובץ ה-snapshot.
-
לוחצים על הפעלה.
מידע נוסף על הרצת שאילתות זמין במאמר הרצת שאילתה אינטראקטיבית.
BQ
מזינים את הפקודה הבאה ב-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"
}
}