עדכון התוויות
בדף הזה מוסבר איך לעדכן תוויות במשאבי BigQuery.
לפני שמתחילים
מקצים תפקידים של ניהול זהויות והרשאות גישה (IAM) שנותנים למשתמשים את ההרשאות הנדרשות לביצוע כל משימה במסמך הזה. ההרשאות שנדרשות לביצוע משימה (אם יש כאלה) מפורטות בקטע 'הרשאות נדרשות' של המשימה.
עדכון תוויות של מערכי נתונים
אפשר לעדכן את התווית של מערך נתונים בדרכים הבאות:
- שימוש במסוף Google Cloud
- שימוש בהצהרות DDL של SQL
- שימוש בפקודה
bq updateשל כלי שורת הפקודה של bq - קריאה לשיטת ה-API
datasets.patch - שימוש בספריות הלקוח
ההרשאות הנדרשות
כדי לעדכן תווית של מערך נתונים, צריך את הרשאת ה-IAM bigquery.datasets.update.
כל אחד מהתפקידים המוגדרים מראש ב-IAM שמופיעים בהמשך כולל את ההרשאות שנדרשות לעדכון של תווית מערך נתונים:
roles/bigquery.dataOwnerroles/bigquery.admin
בנוסף, אם יש לכם הרשאת bigquery.datasets.create, אתם יכולים לעדכן את התוויות של מערכי הנתונים שאתם יוצרים.
במאמר תפקידים והרשאות מוגדרים מראש יש מידע נוסף על תפקידים והרשאות ב-IAM ב-BigQuery.
עדכון תווית של מערך נתונים
כדי לעדכן תוויות במערך נתונים, בוחרים באחת מהאפשרויות הבאות:
המסוף
במסוף Google Cloud , בוחרים את מערך הנתונים.
בדף הפרטים של מערך הנתונים, לוחצים על סמל העיפרון משמאל לתוויות.
בתיבת הדו-שיח עריכת תוויות:
- כדי להחיל תוויות נוספות, לוחצים על הוספת תווית. אפשר להשתמש בכל מפתח רק פעם אחת בכל מערך נתונים, אבל אפשר להשתמש באותו מפתח במערכי נתונים שונים באותו פרויקט.
- כדי לעדכן תווית, משנים את המפתחות או הערכים הקיימים.
- לוחצים על עדכון כדי לשמור את השינויים.
SQL
משתמשים בהצהרת DDL ALTER SCHEMA SET OPTIONS כדי להגדיר את התוויות במערך נתונים קיים. הגדרת תוויות מחליפה את כל התוויות הקיימות במערך הנתונים. בדוגמה הבאה מוגדרת תווית אחת במערך הנתונים mydataset:
במסוף Google Cloud , עוברים לדף BigQuery.
מזינים את ההצהרה הבאה בעורך השאילתות:
ALTER SCHEMA mydataset SET OPTIONS (labels = [('sensitivity', 'high')]);
לוחצים על הפעלה.
מידע נוסף על הרצת שאילתות זמין במאמר הרצת שאילתה אינטראקטיבית.
BQ
כדי להוסיף עוד תוויות או לעדכן תווית של מערך נתונים, מריצים את הפקודה bq update עם הדגל set_label. חוזרים על הפעולה כדי להוסיף או לעדכן כמה תוויות.
אם מערך הנתונים נמצא בפרויקט שאינו פרויקט ברירת המחדל, מוסיפים את מזהה הפרויקט למערך הנתונים בפורמט הבא: [PROJECT_ID]:[DATASET].
bq update \ --set_label key:value \ project_id:dataset
כאשר:
- key:value מתאים לצמד מפתח:ערך של תווית שרוצים להוסיף או לעדכן. אם מציינים מפתח זהה לתווית קיימת, הערך של התווית הקיימת מתעדכן. המפתח חייב להיות ייחודי.
- project_id הוא מזהה הפרויקט.
- dataset היא קבוצת הנתונים שאתם מעדכנים.
דוגמה:
כדי לעדכן את התווית department ב-mydataset, מזינים את הפקודה bq update ומציינים את department כמפתח התווית. לדוגמה, כדי לעדכן את התווית department:shipping ל-department:logistics, מזינים את הפקודה הבאה. mydataset נמצא בmyotherproject, ולא בפרויקט ברירת המחדל שלך.
bq update \
--set_label department:logistics \
myotherproject:mydataset
הפלט אמור להיראות כך:
Dataset 'myotherproject:mydataset' successfully updated.
API
כדי להוסיף תוויות נוספות או לעדכן תווית של מערך נתונים קיים, קוראים למתודה datasets.patch ומוסיפים או מעדכנים את המאפיין labels של משאב מערך הנתונים.
השיטה המועדפת היא datasets.patch, כי השיטה datasets.update מחליפה את כל משאב מערך הנתונים.
Go
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי Goהוראות ההגדרה שבמדריך למתחילים של BigQuery באמצעות ספריות לקוח. מידע נוסף מופיע במאמרי העזרה של BigQuery Go API.
כדי לבצע אימות ב-BigQuery, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
Java
בדוגמה הזו נעשה שימוש בספריית הלקוח של Google HTTP ל-Java כדי לשלוח בקשה ל-BigQuery API.
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי Javaהוראות ההגדרה שבמדריך למתחילים של BigQuery באמצעות ספריות לקוח. מידע נוסף מופיע במאמרי העזרה של BigQuery Java API.
כדי לבצע אימות ב-BigQuery, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
Node.js
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי Node.jsהוראות ההגדרה שבמדריך למתחילים של BigQuery באמצעות ספריות לקוח. מידע נוסף מופיע במאמרי העזרה של BigQuery Node.js API.
כדי לבצע אימות ב-BigQuery, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
Python
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי Pythonהוראות ההגדרה שבמדריך למתחילים של BigQuery באמצעות ספריות לקוח. מידע נוסף מופיע במאמרי העזרה של BigQuery Python API.
כדי לבצע אימות ב-BigQuery, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
עדכון של תוויות טבלה ותוויות תצוגה
אפשר לעדכן תווית אחרי שיוצרים טבלה או תצוגה מפורטת על ידי:
- שימוש במסוף Google Cloud
- שימוש בפקודה
bq updateשל כלי שורת הפקודה של bq - שליחת קריאה לשיטה
tables.patchשל API- מכיוון שהתצוגות נחשבות למשאבי טבלה, משתמשים בשיטה
tables.patchכדי לשנות גם תצוגות וגם טבלאות.
- מכיוון שהתצוגות נחשבות למשאבי טבלה, משתמשים בשיטה
- שימוש בספריות הלקוח
ההרשאות הנדרשות
כדי לעדכן טבלה או תווית של תצוגה מפורטת, נדרשת הרשאת IAM bigquery.tables.update.
כל אחד מתפקידי ה-IAM המוגדרים מראש הבאים כולל את ההרשאות שדרושות לכם כדי לעדכן טבלה או להציג תווית:
roles/bigquery.dataEditorroles/bigquery.dataOwnerroles/bigquery.admin
בנוסף, אם יש לכם הרשאת bigquery.datasets.create, אתם יכולים לעדכן את התוויות של הטבלאות והתצוגות במערכי הנתונים שאתם יוצרים.
במאמר תפקידים והרשאות מוגדרים מראש יש מידע נוסף על תפקידים והרשאות ב-IAM ב-BigQuery.
עדכון התווית של טבלה או תצוגה
כדי לעדכן טבלה או תווית של תצוגה:
המסוף
במסוף Google Cloud , בוחרים את הטבלה או התצוגה.
לוחצים על הכרטיסייה פרטים ואז על סמל העיפרון משמאל לתוויות.
בתיבת הדו-שיח עריכת תוויות:
- כדי להחיל תוויות נוספות, לוחצים על הוספת תווית. אפשר להשתמש בכל מפתח רק פעם אחת לכל טבלה או תצוגה, אבל אפשר להשתמש באותו מפתח בטבלאות או בתצוגות בקבוצות נתונים שונות.
- כדי לעדכן תווית, משנים את המפתחות או הערכים הקיימים.
- לוחצים על עדכון כדי לשמור את השינויים.
SQL
משתמשים בהצהרת DDL ALTER TABLE SET OPTIONS כדי להגדיר את התוויות בטבלה קיימת, או בהצהרת DDL ALTER VIEW SET OPTIONS כדי להגדיר את התוויות בתצוגה קיימת. הגדרת תוויות מחליפה את כל התוויות הקיימות בטבלה או בתצוגה. בדוגמה הבאה מוגדרות שתי תוויות בטבלה mytable:
במסוף Google Cloud , עוברים לדף BigQuery.
מזינים את ההצהרה הבאה בעורך השאילתות:
ALTER TABLE mydataset.mytable SET OPTIONS ( labels = [('department', 'shipping'), ('cost_center', 'logistics')]);
לוחצים על הפעלה.
מידע נוסף על הרצת שאילתות זמין במאמר הרצת שאילתה אינטראקטיבית.
BQ
כדי להוסיף עוד תוויות או לעדכן תווית של טבלה או תצוגה, מריצים את הפקודה bq
update עם הדגל set_label. כדי להוסיף או לעדכן כמה תוויות, חוזרים על הדגל.
אם הטבלה או התצוגה נמצאות בפרויקט שאינו פרויקט ברירת המחדל, צריך להוסיף את מזהה הפרויקט למערך הנתונים בפורמט הבא: project_id:dataset.
bq update \ --set_label key:value \ project_id:dataset.table_or_view
כאשר:
- key:value מתאים לצמד מפתח:ערך של תווית שרוצים להוסיף או לעדכן. אם מציינים מפתח זהה לתווית קיימת, הערך של התווית הקיימת מתעדכן. המפתח חייב להיות ייחודי.
- project_id הוא מזהה הפרויקט.
- dataset הוא מערך הנתונים שמכיל את הטבלה או התצוגה שאתם מעדכנים.
- table_or_view הוא השם של הטבלה או התצוגה שאתם מעדכנים.
דוגמה:
כדי לעדכן את התווית department עבור mytable, מזינים את הפקודה bq update ומציינים את department כמפתח התווית. לדוגמה, כדי לעדכן את התווית department:shipping ל-department:logistics עבור mytable, מזינים את הפקודה הבאה. mytable נמצא בmyotherproject, ולא בפרויקט ברירת המחדל.
bq update \
--set_label department:logistics \
myotherproject:mydataset.mytable
הפלט אמור להיראות כך:
Table 'myotherproject:mydataset.mytable' successfully updated.
API
כדי להוסיף תוויות או לעדכן תוויות של טבלה או תצוגה קיימות, קוראים לשיטה tables.patch ומוסיפים או מעדכנים את המאפיין labels של משאב הטבלה.
מכיוון שהתצוגות נחשבות למשאבי טבלה, משתמשים בשיטה tables.patch כדי לשנות גם תצוגות וגם טבלאות.
השיטה המועדפת היא tables.patch, כי השיטה tables.update מחליפה את כל משאב מערך הנתונים.
Go
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי Goהוראות ההגדרה שבמדריך למתחילים של BigQuery באמצעות ספריות לקוח. מידע נוסף מופיע במאמרי העזרה של BigQuery Go API.
כדי לבצע אימות ב-BigQuery, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
Java
בדוגמה הזו נעשה שימוש ב-Google HTTP Client Library for Java כדי לשלוח בקשה ל-BigQuery API.
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי Javaהוראות ההגדרה שבמדריך למתחילים של BigQuery באמצעות ספריות לקוח. מידע נוסף מופיע במאמרי העזרה של BigQuery Java API.
כדי לבצע אימות ב-BigQuery, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
Node.js
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי Node.jsהוראות ההגדרה שבמדריך למתחילים של BigQuery באמצעות ספריות לקוח. מידע נוסף מופיע במאמרי העזרה של BigQuery Node.js API.
כדי לבצע אימות ב-BigQuery, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
Python
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי Pythonהוראות ההגדרה שבמדריך למתחילים של BigQuery באמצעות ספריות לקוח. מידע נוסף מופיע במאמרי העזרה של BigQuery Python API.
כדי לבצע אימות ב-BigQuery, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
עדכון תוויות של משרות
אין תמיכה בעדכון של תווית משרה. כדי לעדכן את התווית של משימה, צריך לשלוח מחדש את המשימה עם תווית חדשה.
עדכון תוויות ההזמנה
אפשר לעדכן תווית בהזמנה. עדכון תווית באמצעות SQL מחליף את כל התוויות הקיימות בהזמנה.
התפקידים שצריך ב-IAM
כדי לקבל את ההרשאה שנדרשת לעדכון תווית בהזמנה, צריך לבקש מהאדמין להקצות לכם את תפקיד ה-IAM BigQuery Resource Editor (roles/bigquery.resourceEditor) בפרויקט הניהול.
להסבר על מתן תפקידים, ראו איך מנהלים את הגישה ברמת הפרויקט, התיקייה והארגון.
התפקיד שמוגדר מראש מכיל את ההרשאה bigquery.reservations.update, שנדרשת כדי לעדכן תווית בהזמנה.
יכול להיות שתוכלו לקבל את ההרשאה הזו גם בתפקידים בהתאמה אישית או בתפקידים אחרים שמוגדרים מראש.
עדכון תווית בהזמנה
כדי לעדכן תווית בהזמנה:
המסוף
נכנסים לדף BigQuery במסוף Google Cloud .
בתפריט הניווט, לוחצים על ניהול קיבולת.
לוחצים על הכרטיסייה Slot reservations.
מאתרים את ההזמנה שרוצים לעדכן.
מרחיבים את האפשרות Actions (פעולות).
לוחצים על Edit.
כדי להרחיב את הקטע הגדרות מתקדמות, לוחצים על החץ להרחבה .
מעדכנים את השמות של צמד המפתח/הערך.
לוחצים על Save.
BQ
כדי לעדכן תווית להזמנה, מריצים את הפקודה bq update עם הדגלים set_label ו---reservation. כדי לעדכן כמה תוויות, חוזרים על הפעולה של סימון בדגל.
bq update --set_label KEY:VALUE --reservation RESERVATION_NAME
מחליפים את מה שכתוב בשדות הבאים:
-
KEY:VALUE: צמד מפתח/ערך של תווית שרוצים לעדכן בהזמנה. המפתח חייב להיות ייחודי. המפתחות והערכים יכולים להכיל רק אותיות קטנות, ספרות, קווים תחתונים ומקפים. כל התווים צריכים להיות בקידוד UTF-8, ואפשר להשתמש בתווים בינלאומיים. כדי לעדכן כמה תוויות בהזמנה, חוזרים על הדגל--labelומציינים מפתח ייחודי לכל תווית. -
RESERVATION_NAME: השם של ההזמנה.
SQL
כדי לעדכן תווית בהזמנה, משתמשים בהצהרת ALTER RESERVATION SET OPTIONS DDL כדי להגדיר את התוויות בהזמנה קיימת. הגדרת תוויות מחליפה את כל התוויות הקיימות בהזמנה. בדוגמה הבאה מוגדרת תווית להזמנה myreservation:
במסוף Google Cloud , עוברים לדף BigQuery.
מזינים את ההצהרה הבאה בעורך השאילתות:
ALTER RESERVATION myreservation SET OPTIONS ( labels = [('sensitivity', 'high')]);
לוחצים על הפעלה.
מידע נוסף על הרצת שאילתות זמין במאמר הרצת שאילתה אינטראקטיבית.
המרת תוויות לתגים
תווית עם מפתח בעל ערך ריק משמשת כתג. אתם יכולים ליצור תווית חדשה ללא ערך, או להפוך תווית קיימת לתג במערך נתונים, בטבלה או בתצוגה. אי אפשר להמיר תווית של משרה לתג.
תגים יכולים להיות שימושיים במצבים שבהם אתם מתייגים משאב, אבל לא צריך את הפורמט key:value. לדוגמה, אם יש לכם טבלה שמכילה נתוני בדיקה שמשמשים כמה קבוצות (תמיכה, פיתוח וכו'), אתם יכולים להוסיף תג test_data לטבלה כדי לזהות אותה.
ההרשאות הנדרשות
כדי להמיר תווית לתג, אתם צריכים את הרשאות ה-IAM הבאות:
-
bigquery.datasets.update(מאפשרת להמיר תווית של מערך נתונים) bigquery.tables.update(מאפשר להמיר טבלה או תווית תצוגה)
כל אחד מתפקידי ה-IAM המוגדרים מראש הבאים כולל את ההרשאות שנדרשות כדי להמיר תווית של מערך נתונים:
roles/bigquery.dataOwnerroles/bigquery.admin
כל אחד מתפקידי ה-IAM המוגדרים מראש הבאים כולל את ההרשאות שדרושות לכם כדי להמיר תווית של טבלה או תצוגה:
roles/bigquery.dataEditorroles/bigquery.dataOwnerroles/bigquery.admin
בנוסף, אם יש לכם הרשאת bigquery.datasets.create, אתם יכולים לעדכן את התוויות של מערכי הנתונים שאתם יוצרים, ושל הטבלאות והתצוגות במערכי הנתונים האלה.
במאמר תפקידים והרשאות מוגדרים מראש יש מידע נוסף על תפקידים והרשאות ב-IAM ב-BigQuery.
המרת תווית לתג
כדי להמיר תווית לתג:
המסוף
במסוף Google Cloud , בוחרים את מערך הנתונים, הטבלה או התצוגה.
לגבי מערכי נתונים, דף הפרטים של מערך הנתונים נפתח באופן אוטומטי. כדי לפתוח את דף הפרטים של טבלאות ותצוגות, לוחצים על פרטים.
בדף הפרטים, לוחצים על סמל העיפרון משמאל לתוויות.
בתיבת הדו-שיח עריכת תוויות:
- מוחקים את הערך של תווית קיימת.
- לוחצים על עדכון.
BQ
כדי להמיר תווית לתג, משתמשים בפקודה bq update עם הדגל set_label. מציינים את המפתח, ואחריו נקודתיים, אבל לא מציינים את הערך. הפעולה הזו מעדכנת תווית קיימת לתג.
bq update \ --set_label key: \ resource_id
כאשר:
- key: הוא מפתח התווית שרוצים לעדכן לתג.
- resource_id הוא שם תקין של קבוצת נתונים, טבלה או תצוגה. אם המשאב נמצא בפרויקט שאינו פרויקט ברירת המחדל, מוסיפים את מזהה הפרויקט בפורמט הבא:
project_id:dataset.
דוגמאות:
מזינים את הפקודה הבאה כדי לשנות את התווית test_data:development
הקיימת ב-mydataset לתג. mydataset נמצא בmyotherproject, ולא בפרויקט ברירת המחדל.
bq update --set_label test_data: myotherproject:mydataset
הפלט אמור להיראות כך:
Dataset 'myotherproject:mydataset' successfully updated.
API
כדי להפוך תווית קיימת לתג, קוראים למתודה datasets.patch או למתודה tables.patch ומחליפים את ערכי התווית במחרוזת ריקה ("") במשאב של מערך הנתונים או במשאב של הטבלה.
מכיוון שהתצוגות נחשבות למשאבי טבלה, משתמשים בשיטה tables.patch כדי לשנות גם תצוגות וגם טבלאות. בנוסף, מכיוון שהשיטה tables.update
מחליפה את כל משאב מערך הנתונים, עדיף להשתמש בשיטה tables.patch.
המאמרים הבאים
- איך מוסיפים תוויות למשאבי BigQuery
- איך צופים בתוויות במשאבים של BigQuery.
- איך מסננים משאבים באמצעות תוויות
- כך מוחקים תוויות במשאבי BigQuery.
- במאמרי עזרה בנושא מנהל המשאבים מוסבר איך משתמשים בתוויות.