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

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

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

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

הרשאות

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

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

תפקידים

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

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

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

מגבלות

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

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

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

עדכון התיאור

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

המסוף

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

    כניסה ל-BigQuery

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

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

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

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

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

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

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

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

BQ

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

כניסה ל-Cloud Shell

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

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

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

API

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

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

מומלץ להשתמש בשיטה tables.patch במקום בשיטה tables.update כי השיטה tables.update מחליפה את כל המשאב Table.

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

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

המסוף

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

    כניסה ל-BigQuery

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

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

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

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

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

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

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

BQ

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

כניסה ל-Cloud Shell

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

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

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

API

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

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

מומלץ להשתמש בשיטה tables.patch במקום בשיטה tables.update כי השיטה tables.update מחליפה את כל המשאב Table.

עדכון הרשאת הגישה

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

המסוף

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

    כניסה ל-BigQuery

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

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

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

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

  5. בחלונית התמונה המהירה שמופיעה, לוחצים על שיתוף ואז על הוספת חשבון משתמש.

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

  7. בתפריט הנפתח Select a role (בחירת תפקיד), בוחרים באפשרות BigQuery ואז באפשרות BigQuery Data Viewer (מציג נתונים ב-BigQuery).

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

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