הצגת רשימה של קובצי snapshot של טבלאות

במאמר הזה מוסבר איך לקבל רשימה של תמונות מצב של טבלה במערך נתונים של BigQuery במסוף Google Cloud , באמצעות שאילתה בטבלה INFORMATION_SCHEMA.TABLE_SNAPSHOTS, באמצעות הפקודה bq ls או באמצעות קריאה ל-API‏ tables.list. בנוסף, מוסבר איך אפשר להריץ שאילתה בטבלה INFORMATION_SCHEMA.TABLE_SNAPSHOTS כדי לקבל רשימה של כל תמונות המצב של טבלת בסיס ספציפית. המסמך הזה מיועד למשתמשים שמכירים את הטבלאות ב-BigQuery ואת תמונות המצב של הטבלאות.

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

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

הרשאות

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

הרשאה משאב
bigquery.tables.list מערך הנתונים שמכיל את תמונות המצב של הטבלה.

תפקידים

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

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

bigquery.dataUser
bigquery.dataViewer
bigquery.dataEditor
bigquery.dataOwner
bigquery.admin
מערך הנתונים שמכיל את תמונות המצב של הטבלה.

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

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

אפשר להציג רשימה של תמונות מצב של טבלאות באמצעות אחת מהאפשרויות הבאות:

המסוף

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

    כניסה ל-BigQuery

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

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

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

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

  4. לוחצים על סקירה כללית > טבלאות. כדי למצוא תמונות מצב ברשימה, מחפשים את הערך SNAPSHOT בעמודה Type.

SQL

שליחת שאילתה לתצוגה INFORMATION_SCHEMA.TABLE_SNAPSHOTS:

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

    כניסה ל-BigQuery

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

    SELECT
      *
    FROM
      PROJECT_ID.DATASET_NAME.INFORMATION_SCHEMA.TABLE_SNAPSHOTS;

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

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

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

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

התוצאה אמורה להיראות כך:

+---------------+----------------+------------------+--------------------+-------------------+-----------------+-----------------------------+
| table_catalog | table_schema   | table_name       | base_table_catalog | base_table_schema | base_table_name | snapshot_time               |
+---------------+----------------+------------------+--------------------+-------------------+-----------------+-----------------------------+
| myproject     | mydataset      | mysnapshot       | basetableproject   | basetabledataset           | basetable           | 2021-04-16 14:05:27.519 UTC |
+---------------+----------------+------------------+--------------------+-------------------+-----------------+-----------------------------+

BQ

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

כניסה ל-Cloud Shell

bq ls \
PROJECT_ID:DATASET_NAME

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

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

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

+-------------------------+--------+---------------------+-------------------+
|         tableId         |  Type  |       Labels        | Time Partitioning |
+-------------------------+--------+---------------------+-------------------+
| mysnapshot              |SNAPSHOT|                     |                   |
+-------------------------+--------+---------------------+-------------------+

API

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

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

הצגת רשימה של תמונות מצב של טבלת בסיס ספציפית

אפשר להציג את תמונות המצב של טבלה בסיסית ספציפית על ידי שליחת שאילתה לתצוגה INFORMATION_SCHEMA.TABLE_SNAPSHOTS:

SELECT
  *
FROM
  PROJECT_ID.DATASET_NAME.INFORMATION_SCHEMA.TABLE_SNAPSHOTS
WHERE
  base_table_name = 'books';
  

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

  • PROJECT_ID: מזהה הפרויקט שמכיל את התמונות שרוצים להציג.
  • DATASET_NAME: השם של מערך הנתונים שמכיל את התמונות של מצב המערכת שרוצים להציג.

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