עדכון המטא-נתונים של קובץ snapshot של טבלה

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

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

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

הרשאות

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

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

תפקידים

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

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

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

מגבלות

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

עדכון המטא-נתונים של תמונת מצב של טבלה

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

עדכון התיאור

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

המסוף

  1. נכנסים לדף BigQuery במסוף Google Cloud .

    כניסה ל-BigQuery

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

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

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

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

  4. לוחצים על Overview > Tables ואז על השם של קובץ ה-snapshot של הטבלה שרוצים לעדכן.

  5. עוברים לכרטיסייה פרטים ולוחצים על עריכת הפרטים.

  6. בשדה Description, מוסיפים או מעדכנים את התיאור של קובץ ה-snapshot של הטבלה.

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

BQ

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

כניסה ל-Cloud Shell

bq update \
--description="DESCRIPTION" \
PROJECT_ID:DATASET_NAME.SNAPSHOT_NAME

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

  • ‫DESCRIPTION: טקסט שמתאר את תמונת המצב. לדוגמה, Snapshot after table schema change X..
  • ‫PROJECT_ID: מזהה הפרויקט שמכיל את קובץ ה-snapshot.
  • ‫DATASET_NAME: שם מערך הנתונים שמכיל את קובץ ה-snapshot.
  • ‫SNAPSHOT_NAME: שם קובץ ה-snapshot.

API

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

פרמטר ערך
projectId מזהה הפרויקט שמכיל את קובץ ה-snapshot.
datasetId שם מערך הנתונים שמכיל את קובץ ה-snapshot.
tableId שם תמונת המצב.
השדה description בגוף הבקשה טקסט שמתאר את תמונת המצב. לדוגמה, Snapshot after table schema change X.

עדיף להשתמש ב-tables.patch ולא ב-tables.update, כי tables.update מחליפה את כל המשאב Table.

לעדכן את תאריך התפוגה

כדי לשנות את תאריך התפוגה של קובץ snapshot של טבלה, אפשר להשתמש באחת מהאפשרויות הבאות:

המסוף

  1. נכנסים לדף BigQuery במסוף Google Cloud .

    כניסה ל-BigQuery

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

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

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

  4. לוחצים על Overview > Tables ואז על השם של קובץ ה-snapshot של הטבלה שרוצים לעדכן.

  5. עוברים לכרטיסייה פרטים ולוחצים על עריכת הפרטים.

  6. בשדה Expiration time, מזינים את מועד התפוגה החדש של קובץ ה-snapshot של הטבלה.

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

BQ

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

כניסה ל-Cloud Shell

bq update \
--expiration=EXPIRATION_TIME \
PROJECT_ID:DATASET_NAME.SNAPSHOT_NAME

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

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

API

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

פרמטר ערך
projectId מזהה הפרויקט שמכיל את קובץ ה-snapshot.
datasetId שם מערך הנתונים שמכיל את קובץ ה-snapshot.
tableId שם תמונת המצב.
השדה expirationTime בגוף הבקשה הזמן שבו פג התוקף של תמונת המצב, באלפיות השנייה מאז ראשית הזמן.

עדיף להשתמש ב-tables.patch ולא ב-tables.update, כי tables.update מחליפה את כל המשאב Table.

עדכון הגישה

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

המסוף

  1. נכנסים לדף BigQuery במסוף Google Cloud .

    כניסה ל-BigQuery

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

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

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

  4. לוחצים על Overview > Tables, ואז על השם של קובץ ה-snapshot של הטבלה שרוצים לשתף.

  5. בחלונית של תמונת המצב שמופיעה, לוחצים על Share ואז על Add principal.

  6. בחלונית Add principals שמופיעה, מזינים את המזהה של המשתמש שרוצים לתת לו גישה לתמונת המצב של הטבלה.

  7. בתפריט הנפתח Select a role, בוחרים באפשרות BigQuery ואז באפשרות BigQuery Data Viewer.

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

BQ

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

כניסה ל-Cloud Shell

bq add-iam-policy-binding \
    --member="user:PRINCIPAL" \
    --role="roles/bigquery.dataViewer" \
    PROJECT_ID:DATASET_NAME.SNAPSHOT_NAME

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

  • ‫PRINCIPAL: חשבון המשתמש שרוצים לתת לו גישה לתמונת המצב של הטבלה.
  • ‫PROJECT_ID: מזהה הפרויקט שמכיל את קובץ ה-snapshot.
  • ‫DATASET_NAME: שם מערך הנתונים שמכיל את קובץ ה-snapshot.
  • ‫SNAPSHOT_NAME: שם קובץ ה-snapshot.

API

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

פרמטר ערך
Resource
projects/PROJECT_ID/datasets/DATASET_NAME/tables/SNAPSHOT_NAME
גוף הבקשה
{
      "policy": {
        "bindings": [
          {
            "members": [
              "user:PRINCIPAL"
            ],
            "role": "roles/bigquery.dataViewer"
          }
        ]
      }
    }

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

  • ‫PROJECT_ID: מזהה הפרויקט שמכיל את קובץ ה-snapshot.
  • ‫DATASET_NAME: שם מערך הנתונים שמכיל את קובץ ה-snapshot.
  • ‫SNAPSHOT_NAME: שם קובץ ה-snapshot.
  • ‫PRINCIPAL: חשבון המשתמש שרוצים לתת לו גישה לתמונת המצב של הטבלה.

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