יצירת שאילתות שמורות
שאילתות שמורות מאפשרות לכם לאחסן את ה-SQL שאתם כותבים בעורך השאילתות ולשתף אותו עם משתמשים אחרים, כדי שהצוות שלכם יוכל להשתמש שוב בשאילתות ולשתף פעולה. שאילתות שמורות הן נכסי קוד של BigQuery Studio שמבוססים על Dataform.
במאמר ניהול שאילתות שמורות תוכלו לקרוא מידע נוסף על מחיקת שאילתות שמורות וניהול היסטוריית השאילתות השמורות.
ההרשאות הנדרשות
מגדירים את ההרשאות המתאימות ליצירה, לעריכה או לצפייה בשאילתות שמורות.
לכל המשתמשים עם התפקיד אדמין ב-Dataform (roles/dataform.admin) יש גישת בעלים לכל השאילתות השמורות שנוצרו בפרויקט.
למידע נוסף על ניהול הזהויות והרשאות הגישה (IAM) ב-BigQuery, קראו את המאמר בקרת גישה באמצעות IAM.
הרשאות ליצירת שאילתות שמורות
כדי ליצור ולהריץ שאילתות שמורות, צריך את הרשאות ה-IAM הבאות:
dataform.locations.getdataform.locations.listdataform.repositories.listdataform.repositories.create
אתם יכולים לקבל את ההרשאות האלה מתפקידי ה-IAM הבאים:
- BigQuery Job User (
roles/bigquery.jobUser) - BigQuery Read Session User (
roles/bigquery.readSessionUser) - יצירת קוד (
roles/dataform.codeCreator)
הרשאות לעריכת שאילתות שמורות
כדי לערוך ולהריץ שאילתות שמורות, צריך את התפקידים הבאים ב-IAM:
- BigQuery Job User (
roles/bigquery.jobUser) - BigQuery Read Session User (
roles/bigquery.readSessionUser) - עורך קוד (
roles/dataform.codeEditor)
הרשאות לצפייה בשאילתות שמורות
כדי להציג ולהריץ שאילתות שמורות, צריך את התפקידים הבאים ב-IAM:
- BigQuery Job User (
roles/bigquery.jobUser) - BigQuery Read Session User (
roles/bigquery.readSessionUser) - צפייה בקוד (
roles/dataform.codeViewer)
שיקולי אבטחה לגבי שאילתות שמורות
נכסי הקוד ב-BigQuery מופעלים על ידי Dataform, לכן חשוב להביא בחשבון את ההשלכות הבאות על האבטחה של משתמשים שיש להם גישה לנכסים האלה:
- ההרשאות של Dataform ברמת הפרויקט קובעות את הרשאות הצפייה בנכסי הקוד. משתמשים עם ההרשאה
dataform.repositories.list– שכלולה בתפקידים הרגילים של BigQuery כמו BigQuery Job User, BigQuery Studio User ו-BigQuery User – יכולים לראות את כל נכסי הקוד בחלונית Explorer של הפרויקט ב- Google Cloud , גם אם הם לא יצרו את הנכסים האלה או שהנכסים האלה לא שותפו איתם. כדי להגביל את החשיפה, אתם יכולים ליצור תפקידים בהתאמה אישית שלא כוללים את ההרשאהdataform.repositories.list. - משתמשים שיכולים לערוך את הנכסים האלה יכולים לגשת לכל הסודות ששותפו עם סוכן השירות של Dataform. כדי לאבטח את פרטי הכניסה, הגבילו את הגישה ליצירה ולעריכה למשתמשים מהימנים, והגבילו את הגישה של סוכן השירות של Dataform לסודות. מידע נוסף זמין במאמר גישה לסודות במהלך התקנת חבילה.
מידע נוסף זמין במאמר שיקולי אבטחה להרשאות ב-Dataform.
הגדרת אזור ברירת המחדל לנכסי קוד
כל נכסי הקוד החדשים בפרויקט Google Cloud משתמשים באזור ברירת המחדל. אחרי שיוצרים את הנכס, אי אפשר לשנות את האזור שלו.
כדי להגדיר את אזור ברירת המחדל לנכסי קוד חדשים:
נכנסים לדף BigQuery.
בחלונית השמאלית, לוחצים על Files כדי לפתוח את דפדפן הקבצים:
ליד שם הפרויקט, לוחצים על View files panel actions > Switch code region.
בוחרים את אזור הקוד שרוצים להשתמש בו כברירת מחדל.
לוחצים על Save.
רשימת האזורים הנתמכים ב-BigQuery Studio
הצפנה באמצעות CMEK
אתם יכולים להצפין את השאילתות השמורות שמגובות ב-Dataform באמצעות מפתחות הצפנה בניהול הלקוח (CMEK), על ידי שימוש במפתח CMEK שמוגדר כברירת מחדל ברמת הפרויקט ל-Dataform API. אי אפשר להחיל מפתחות CMEK נפרדים על שאילתות שמורות במסוף Google Cloud . ההגדרות החדשות חלות רק על שאילתות שמורות חדשות.
למידע נוסף ולהוראות להגדרת מפתח ברירת המחדל, קראו את המאמר שימוש ב-CMEK כדי להגן על נכסי קוד ב-BigQuery Studio.
יצירת שאילתות שמורות
כדי ליצור שאילתה שמורה:
נכנסים לדף BigQuery במסוף Google Cloud .
לוחצים על שאילתת SQL.
בעורך השאילתות, מזינים שאילתת SQL תקינה. לדוגמה, אפשר לשלוח שאילתה למערך נתונים ציבורי:
SELECT name, SUM(number) AS total FROM `bigquery-public-data.usa_names.usa_1910_2013` GROUP BY name ORDER BY total DESC LIMIT 10;
לחלופין, אתם יכולים להשתמש בחלונית Reference כדי ליצור שאילתות חדשות.
לוחצים על
Save > שמירת שאילתה או על Control+S (או Command+S ב-macOS).בתיבת הדו-שיח Save query, מקלידים שם לשאילתה השמורה.
אופציונלי: כדי לשנות את האזור שבו תשתמש השאילתה השמורה הזו וכל נכסי הקוד האחרים בעתיד, בוחרים אזור חדש בשדה Region.
לוחצים על Save.
הגרסה הראשונה של השאילתה השמורה נוצרת.
אופציונלי: אחרי ששומרים את השאילתה, אפשר להשתמש בסרגל הכלים הבא כדי לראות את פרטי השאילתה או את היסטוריית הגרסאות, להוסיף תגובות חדשות, להשיב לתגובה קיימת או לקבל קישור אליה:

התכונה תגובות בסרגל הכלים נמצאת בגרסת טרום-השקה (Preview). כדי לשלוח משוב או לבקש תמיכה בתכונה הזו, שלחו אימייל לכתובת bqui-workspace-pod@google.com.
שיתוף שאילתות שמורות
כדי לשתף שאילתה שמורה עם משתמש, קודם צריך לתת לו גישה לשאילתה השמורה ולהוסיף אותו לתפקיד IAM מתאים. אחר כך אתם יוצרים קישור לשאילתה השמורה ומשתפים את הקישור עם המשתמש.
משתמשים שאתם משתפים איתם שאילתה רואים רק את הגרסה האחרונה שלה. שינויים שנשמרו אוטומטית ולא שמרתם באופן מפורש לא מופיעים בשאילתה המשותפת.
כדי לשתף שאילתה שמורה:
נכנסים לדף BigQuery במסוף Google Cloud .
בחלונית השמאלית, לוחצים על Files כדי לפתוח את דפדפן הקבצים.
אם החלונית הימנית לא מוצגת, לוחצים על הרחבת החלונית הימנית כדי לפתוח אותה.
בחלונית Files, מרחיבים את הפרויקט ואת תיקיות המשנה כדי למצוא את השאילתה השמורה שרוצים לשתף.
לוחצים על View actions ליד השאילתה השמורה, ואז על Share > Manage permissions.
בחלונית Manage permissions, לוחצים על Add user/group.
בשדה New principals, מזינים חשבון משתמש.
ברשימה Role, בוחרים אחד מהתפקידים הבאים:
- בעלי הקוד: יכולים לבצע כל פעולה בשאילתה השמורה, כולל למחוק או לשתף אותה.
- Code Editor: יכול לערוך את השאילתה.
- צפייה בקוד: יכולים לצפות בשאילתה.
אופציונלי: כדי לראות רשימה מלאה של תפקידים והגדרות שיתוף מתקדמות, לוחצים על שיתוף מתקדם.
לוחצים על Save.
כדי לחזור לפרטי השאילתה השמורה, לוחצים על סגירה.
כדי ליצור קישור לשאילתה השמורה, לוחצים על View actions > Share > Copy link.
הקישור מועתק ללוח.
פתיחת גרסה של שאילתה שמורה כשאילתה חדשה
כדי לפתוח גרסה כלשהי של שאילתה שמורה קיימת כשאילתה חדשה:
נכנסים לדף BigQuery במסוף Google Cloud .
בחלונית השמאלית, לוחצים על Files כדי לפתוח את דפדפן הקבצים:
אם החלונית הימנית לא מוצגת, לוחצים על הרחבת החלונית הימנית כדי לפתוח אותה.
בחלונית Files, מרחיבים את הפרויקט ואת תיקיות המשנה כדי למצוא את השאילתה השמורה שרוצים לפתוח.
לוחצים על השאילתה השמורה ואז על היסטוריית גרסאות.
לוחצים על View actions ליד גרסה של שאילתה שמורה, ואז על Open as new query.
עדכון שאילתות שמורות
השינויים שתבצעו בטקסט של שאילתה שמורה יישמרו באופן אוטומטי שתי שניות אחרי שתפסיקו להקליד, ויופיעו בהיסטוריית הגרסאות בתור השינויים שלך. שינויים שנשמרים אוטומטית הם לא גרסה חדשה של השאילתה. השינויים שנשמרו אוטומטית יופיעו בכל פעם שתפתחו את השאילתה, אבל הם לא יהיו גלויים לאף אחד אחר, אלא אם תשמרו אותם באופן מפורש כגרסה חדשה של השאילתה. השאילתות שנשמרות באופן אוטומטי נמצאות בגרסת טרום-השקה (Preview).
נכנסים לדף BigQuery במסוף Google Cloud .
בחלונית השמאלית, לוחצים על Files כדי לפתוח את דפדפן הקבצים:
אם החלונית הימנית לא מוצגת, לוחצים על הרחבת החלונית הימנית כדי לפתוח אותה.
בחלונית Files, מרחיבים את הפרויקט ואת תיקיות המשנה כדי למצוא את השאילתה השמורה שרוצים לעדכן.
לוחצים על השאילתה השמורה כדי לפתוח אותה.
משנים את השאילתה.
כדי לשמור את השאילתה ששיניתם, לוחצים על
Save query > Save query או על Control+S (או Command+S ב-macOS).נוצרת גרסה חדשה של השאילתה.
העלאת שאילתות שמורות
אתם יכולים להעלות שאילתת SQL מקומית כדי להשתמש בה כשאילתה שמורה ב-BigQuery Studio. השאילתה השמורה שהועלתה תופיע גם בדף BigQuery במסוף Google Cloud .
כדי להעלות שאילתה שמורה:
נכנסים לדף BigQuery במסוף Google Cloud .
בחלונית השמאלית, לוחצים על Files כדי לפתוח את דפדפן הקבצים:
אם החלונית הימנית לא מוצגת, לוחצים על הרחבת החלונית הימנית כדי לפתוח אותה.
בחלונית Files, לוחצים על View actions ליד התיקייה שאליה רוצים להעלות את השאילתה, ואז לוחצים על Upload > Query.
בתיבת הדו-שיח Upload SQL, בשדה SQL לוחצים על Browse ובוחרים את השאילתה שרוצים להעלות.
אופציונלי: בשדה שם SQL, עורכים את שם השאילתה.
בשדה Region, בוחרים את האזור שאליו רוצים להעלות את השאילתה השמורה.
לוחצים על Upload.
אפשר לגשת לשאילתה השמורה דרך החלונית Files או החלונית Explorer.
פתרון בעיות בשאילתות שמורות
בקטע הזה מוסבר איך לפתור בעיות נפוצות בשאילתות שמורות.
אי אפשר לשמור שאילתות
אם אתם לא מצליחים לשמור שאילתה, יכול להיות ש-Dataform API לא מופעל בפרויקט. Dataform API מופעל באופן אוטומטי ברוב הפרויקטים, אבל הוא לא מופעל בפרויקטים שמשתמשים באילוץ Restrict Resource Service Usage של מדיניות הארגון, כמו פרויקטים מובטחים.
כדי לפתור את הבעיה, צריך לוודא ש-Dataform API מופעל:
- במסוף Google Cloud , נכנסים לדף APIs & Services.
- מחפשים את Dataform API ומוודאים שהוא מופעל.
- אם ה-API לא מופעל, לוחצים על Enable.
- מנסים שוב באמצעות שאילתות שמורות.
חוסר התאמה באזור של השאילתות השמורות
שינוי אזור ברירת המחדל לנכסי קוד משפיע רק על נכסים שנוצרו אחרי השינוי. הנכסים הקיימים נשארים באזור המקורי שלהם.
כדי לפתור את הבעיה, צריך לוודא שהאזור שנבחר לשאילתה השמורה תואם לאחד מהאזורים הנתמכים. אם צריך, יוצרים שאילתה שמורה חדשה באזור נתמך או משנים את אזור ברירת המחדל של נכסי הקוד.
שאילתות שמורות בגרסה הקלאסית
בקטעים הבאים מוסבר איך ליצור ולעדכן שאילתות שמורות קלאסיות. מידע נוסף על שיתוף, העברה ומחיקה של שאילתות שמורות קלאסיות זמין במאמר שאילתות שמורות קלאסיות.
ההרשאות שנדרשות לשאילתות שמורות קלאסיות
כדי ליצור, להציג, לעדכן ולמחוק שאילתות שמורות קלאסיות, צריך את ההרשאות הבאות ב-IAM:
- שאילתות שמורות פרטיות בגרסה הקלאסית:
- כדי ליצור שאילתות שמורות פרטיות בממשק הקלאסי לא נדרשות הרשאות מיוחדות. אתם יכולים לשמור שאילתה פרטית בכל פרויקט, אבל רק אתם יכולים לראות, לעדכן או למחוק אותה.
- שאילתות שמורות קלאסיות ברמת הפרויקט:
- כדי ליצור שאילתה שמורה קלאסית ברמת הפרויקט, צריך את ההרשאות
bigquery.savedqueries.create. התפקיד המוגדר מראשbigquery.adminכולל את ההרשאות שלbigquery.savedqueries.create. - כדי לצפות בשאילתה שמורה קלאסית ברמת הפרויקט, נדרשות ההרשאות
bigquery.savedqueries.getו-bigquery.savedqueries.list. התפקידים המוגדרים מראשbigquery.adminו-bigquery.userכוללים את ההרשאותbigquery.savedqueries.getו-bigquery.savedqueries.list. - כדי לעדכן שאילתה שמורה קלאסית ברמת הפרויקט, צריך את ההרשאות
bigquery.savedqueries.update. התפקיד המוגדר מראשbigquery.adminכולל את ההרשאות שלbigquery.savedqueries.update. - כדי למחוק שאילתה שמורה קלאסית ברמת הפרויקט, צריך את ההרשאות
bigquery.savedqueries.delete. התפקיד המוגדר מראשbigquery.adminכולל את ההרשאות שלbigquery.savedqueries.delete.
- כדי ליצור שאילתה שמורה קלאסית ברמת הפרויקט, צריך את ההרשאות
- שאילתות שמורות ציבוריות בגרסה הקלאסית:
- לא נדרשות הרשאות מיוחדות כדי ליצור שאילתות שמורות קלאסיות שגלויות לכולם. אתם יכולים לשמור שאילתה שמורה קלאסית שגלויה לכולם בכל פרויקט, אבל רק אתם יכולים לעדכן או למחוק אותה. כל מי שיש לו את הקישור יכול לצפות בשאילתה שמורה קלאסית שגלויה לכולם.
במאמר תפקידים והרשאות מוגדרים מראש תוכלו לקרוא מידע נוסף על תפקידי IAM ב-BigQuery.
יצירת שאילתות שמורות קלאסיות
נכנסים לדף BigQuery במסוף Google Cloud .
לוחצים על שאילתת SQL.
בעורך השאילתות, מזינים שאילתת SQL תקינה. לדוגמה, אפשר לשלוח שאילתה למערך נתונים ציבורי:
SELECT name, SUM(number) AS total FROM `bigquery-public-data.usa_names.usa_1910_2013` GROUP BY name ORDER BY total DESC LIMIT 10;
לוחצים על
שמירת השאילתה (גרסה קלאסית) > שמירת השאילתה (גרסה קלאסית).בתיבת הדו-שיח Save query, נותנים שם לשאילתה ומגדירים את Visibility לאחת מהאפשרויות הבאות:
- אישית (ניתנת לעריכה רק על ידך) לשאילתה שמורה קלאסית פרטית.
- Project (editable by principals with appropriate permissions) לשאילתה שמורה קלאסית ברמת הפרויקט.
- Public לשאילתה ציבורית שמורה קלאסית.
לוחצים על Save.
שיתוף שאילתות שמורות קלאסיות
אתם יכולים לשתף שאילתות שמורות קלאסיות שהגדרתם להן הרשאות צפייה ברמת הפרויקט או הרשאות צפייה ציבוריות. הגדרת החשיפה של הפרויקט מאפשרת לחשבונות משתמשים עם ההרשאות הנדרשות לצפות בשאילתה, לעדכן או למחוק אותה. כשסטטוס החשיפה הוא "גלוי לכולם", כל מי שיש לו את הקישור לשאילתה יכול לראות אותה, אבל לא לעדכן או למחוק אותה.
כדי לשתף שאילתה שמורה קלאסית עם משתמשים אחרים, יוצרים קישור לשאילתה השמורה הקלאסית ומשתפים אותו.
כדי להריץ שאילתה משותפת קלאסית, למשתמשים צריכה להיות גישה לנתונים שהשאילתה ניגשת אליהם. איך נותנים גישה למערך נתונים
אם אתם מתכננים לשתף שאילתה שמורה קלאסית, כדאי לכלול בשאילתה הערה שמתארת את המטרה שלה.
כדי לשתף שאילתה שמורה קלאסית, פועלים לפי השלבים הבאים:
בחלונית הימנית, לוחצים על Explorer.
אם החלונית הימנית לא מוצגת, לוחצים על הרחבת החלונית הימנית כדי לפתוח אותה.
בחלונית Explorer, מרחיבים את הפרויקט ולוחצים על (Classic) Queries.
מוצאים את השאילתה השמורה הקלאסית שרוצים לתת לה גישה ולוחצים עליה. אתם יכולים להשתמש בתכונת החיפוש או במסננים כדי למצוא את השאילתה.
לוחצים על הצגת הפעולות ליד השאילתה ואז לוחצים על העתקת הקישור.
משתפים את הקישור עם המשתמשים שרוצים לתת להם גישה לשאילתה.
עדכון שאילתות שמורות קלאסיות
נכנסים לדף BigQuery במסוף Google Cloud .
בחלונית הימנית, לוחצים על Explorer:

אם החלונית הימנית לא מוצגת, לוחצים על הרחבת החלונית הימנית כדי לפתוח אותה.
בחלונית Explorer, מרחיבים את הפרויקט ולוחצים על (Classic) Queries.
לוחצים על השם של שאילתה שמורה קלאסית כדי לפתוח אותה.
משנים את השאילתה.
כדי לשמור את השאילתה ששיניתם, לוחצים על
Save Query (Classic) > Save query (Classic).
פתרון בעיות בשאילתות שמורות קלאסיות
בקטע הזה מוסבר איך לפתור בעיות נפוצות בשאילתות שמורות קלאסיות.
אי אפשר לגשת לשאילתות השמורות של משתמש מושבת
בניגוד לשאילתות שמורות ב-BigQuery Studio, שאדמינים של פרויקטים יכולים לגשת אליהן, אי אפשר לגשת לשאילתות שמורות פרטיות קלאסיות אם המשתמש שיצר אותן עזב את הארגון וחשבון Google שלו הושבת או הושעה. השאילתות נעלמות מ Google Cloud מסוף Admin לכל המשתמשים, חוץ מהבעלים המקוריים.
כדי לשחזר את השאילתות האלה, אדמין ב-Google Workspace או ב-Cloud Identity צריך לבצע את הפעולות הבאות:
- מפעילים מחדש באופן זמני את החשבון של המשתמש שהושבת.
- מאפסים את הסיסמה של המשתמש.
- נכנסים למסוף Google Cloud בתור המשתמש שהופעל מחדש.
- בעורך השאילתות, פותחים כל שאילתה שמורה.
- לוחצים על שמירה או על שמירת השאילתה בשם.
- משנים את Visibility (חשיפה) מ-Personal (אישי) ל-Project (פרויקט).
- לוחצים על Save. כך השאילתה תהיה גלויה למשתמשים אחרים באותו פרויקט שיש להם את ההרשאות הנדרשות.
- אחרי שכל השאילתות הועברו, משעים מחדש את חשבון המשתמש.
כדי למנוע את הבעיה הזו, שמרו שאילתות שקריטיות לעסק או שמשותפות עם הצוות ברמת הניראות Project.