יצירת שאילתות שמורות

כשכותבים SQL בעורך השאילתות, אפשר לשמור את השאילתה ולשתף אותה עם אחרים. שאילתות שמורות הן נכסי קוד של BigQuery Studio שמבוססים על Dataform.

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

ההרשאות הנדרשות

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

לכל המשתמשים עם תפקיד האדמין ב-Dataform (roles/dataform.admin) יש גישת בעלים לכל השאילתות שנשמרו בפרויקט.

מידע נוסף על ניהול זהויות והרשאות גישה (IAM) ב-BigQuery זמין במאמר בקרת גישה באמצעות IAM.

הרשאות ליצירת שאילתות שמורות

כדי ליצור ולהריץ שאילתות שמורות, אתם צריכים את הרשאות ה-IAM הבאות:

  • dataform.locations.get
  • dataform.locations.list
  • dataform.repositories.list
  • dataform.repositories.create

אפשר לקבל את ההרשאות האלה מתפקידי ה-IAM הבאים:

הרשאות לעריכת שאילתות שמורות

כדי לערוך ולהריץ שאילתות שמורות, אתם צריכים את תפקידי ה-IAM הבאים:

הרשאות לצפייה בשאילתות שמורות

כדי להציג ולהריץ שאילתות שמורות, אתם צריכים את תפקידי ה-IAM הבאים:

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

נכסי קוד ב-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 משתמשים באזור ברירת מחדל. אחרי שיוצרים את הנכס, אי אפשר לשנות את האזור שלו.

כדי להגדיר את אזור ברירת המחדל לנכסי קוד חדשים:

  1. עוברים לדף BigQuery.

    כניסה ל-BigQuery

  2. בחלונית הימנית, לוחצים על קבצים כדי לפתוח את דפדפן הקבצים:

    לוחצים על **קבצים** כדי לפתוח את דפדפן הקבצים.

  3. לצד שם הפרויקט, לוחצים על View files panel actions (הצגת פעולות בחלונית הקבצים) > Switch code region (החלפת אזור הקוד).

  4. בוחרים את אזור הקוד שרוצים להגדיר כברירת מחדל.

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

רשימת האזורים הנתמכים מופיעה במאמר בנושא מיקומים ב-BigQuery Studio.

הצפנה באמצעות CMEK

אתם יכולים להצפין את השאילתות השמורות שמגובות על ידי Dataform באמצעות מפתחות הצפנה בניהול הלקוח (CMEK) על ידי שימוש במפתח CMEK שמוגדר כברירת מחדל ברמת הפרויקט עבור Dataform API. אי אפשר להחיל מפתחות CMEK נפרדים על שאילתות שמורות במסוף Google Cloud . ההגדרות החדשות חלות רק על שאילתות שמורות חדשות.

מידע נוסף והוראות להגדרת מפתח ברירת המחדל זמינים במאמר שימוש ב-CMEK להגנה על נכסי קוד ב-BigQuery Studio.

יצירת שאילתות שמורות

כדי ליצור שאילתה שמורה, פועלים לפי השלבים הבאים:

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

    כניסה ל-BigQuery

  2. לוחצים על שאילתת SQL.

  3. מזינים שאילתת 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 כדי ליצור שאילתות חדשות.

  4. לוחצים על שמירה > שמירת שאילתה או מקישים על Control+S (או על Command+S ב-macOS).

  5. בתיבת הדו-שיח Save query, מקלידים שם לשאילתה השמורה.

  6. אופציונלי: כדי לשנות את האזור שבו נעשה שימוש בשאילתה השמורה הזו ובכל נכסי הקוד האחרים בעתיד, בוחרים אזור חדש בשדה אזור.

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

    הגרסה הראשונה של השאילתה השמורה נוצרת.

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

    סרגל הכלים נמצא ליד עורך השאילתות.

    התכונה סרגל הכלים של התגובות נמצאת בגרסת טרום-השקה. כדי לשלוח משוב או לבקש תמיכה בנוגע לתכונה הזו, אפשר לשלוח אימייל לכתובת bqui-workspace-pod@google.com.

שיתוף שאילתות שמורות

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

משתמשים ששיתפתם איתם שאילתה יכולים לראות רק את הגרסה האחרונה של השאילתה. שינויים שנשמרו אוטומטית ולא נשמרו באופן מפורש לא מופיעים בשאילתה המשותפת.

כדי לשתף שאילתה שמורה, פועלים לפי השלבים הבאים:

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

    כניסה ל-BigQuery

  2. בחלונית הימנית, לוחצים על קבצים כדי לפתוח את דפדפן הקבצים.

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

  3. בחלונית Files, מרחיבים את הפרויקט ואת תיקיות המשנה כדי למצוא את השאילתה השמורה שרוצים לשתף.

  4. לצד השאילתה השמורה, לוחצים על הצגת פעולות ואז על שיתוף > ניהול הרשאות.

  5. בחלונית Manage permissions (ניהול הרשאות), לוחצים על Add user/group (הוספת משתמש או קבוצה).

  6. בשדה New principals, מזינים חשבון משתמש.

  7. ברשימה Role, בוחרים אחד מהתפקידים הבאים:

  8. אופציונלי: כדי לראות רשימה מלאה של תפקידים והגדרות שיתוף מתקדמות, לוחצים על שיתוף מתקדם.

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

  10. כדי לחזור לפרטים של השאילתה השמורה, לוחצים על סגירה.

  11. כדי ליצור קישור לשאילתה השמורה, לוחצים על הצגת פעולות > שיתוף > העתקת הקישור.

    הקישור מועתק ללוח.

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

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

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

    כניסה ל-BigQuery

  2. בחלונית הימנית, לוחצים על קבצים כדי לפתוח את דפדפן הקבצים:

    לוחצים על **קבצים** כדי לפתוח את דפדפן הקבצים.

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

  3. בחלונית Files, מרחיבים את הפרויקט ואת תיקיות המשנה כדי למצוא את השאילתה השמורה שרוצים לפתוח.

  4. לוחצים על השאילתה השמורה ואז על היסטוריית גרסאות.

  5. לצד גרסה של שאילתה שנשמרה, לוחצים על View actions (הצגת פעולות) ואז על Open as new query (פתיחה כשאילתה חדשה).

עדכון שאילתות שמורות

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

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

    כניסה ל-BigQuery

  2. בחלונית הימנית, לוחצים על קבצים כדי לפתוח את דפדפן הקבצים:

    לוחצים על **קבצים** כדי לפתוח את דפדפן הקבצים.

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

  3. בחלונית Files (קבצים), מרחיבים את הפרויקט ואת תיקיות המשנה כדי למצוא את השאילתה השמורה שרוצים לעדכן.

  4. לוחצים על השאילתה השמורה כדי לפתוח אותה.

  5. משנים את השאילתה.

  6. כדי לשמור את השאילתה ששיניתם, לוחצים על שמירת השאילתה > שמירת השאילתה או מקישים על Control+S (או על Command+S ב-macOS).

    נוצרת גרסה חדשה של השאילתה.

העלאת שאילתות שמורות

אפשר להעלות שאילתת SQL מקומית כדי להשתמש בה כשאילתה שמורה ב-BigQuery Studio. השאילתה השמורה שהועלתה מופיעה גם בדף BigQuery במסוף Google Cloud .

כדי להעלות שאילתה שמורה:

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

    כניסה ל-BigQuery

  2. בחלונית הימנית, לוחצים על קבצים כדי לפתוח את דפדפן הקבצים:

    לוחצים על **קבצים** כדי לפתוח את דפדפן הקבצים.

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

  3. בחלונית Files (קבצים), לוחצים על View actions (הצגת פעולות) לצד התיקייה שאליה רוצים להעלות את השאילתה, ואז לוחצים על Upload (העלאה) > Query (שאילתה).

  4. בתיבת הדו-שיח העלאת SQL, בשדה SQL, לוחצים על עיון ואז בוחרים את השאילתה שרוצים להעלות.

  5. אופציונלי: בשדה שם SQL, עורכים את שם השאילתה.

  6. בשדה Region (אזור), בוחרים את האזור שבו רוצים להעלות את השאילתה השמורה.

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

אפשר לגשת לשאילתה השמורה דרך החלונית Files (קבצים) או Explorer (סייר).

פתרון בעיות בשאילתות שמורות

בקטע הזה מוסבר איך לפתור בעיות נפוצות שקשורות לשאילתות שמורות.

אי אפשר לשמור שאילתות

אם אתם לא מצליחים לשמור שאילתה, יכול להיות ש-Dataform API לא מופעל בפרויקט. ה-API של Dataform מופעל אוטומטית ברוב הפרויקטים, אבל הוא לא מופעל בפרויקטים שמשתמשים באילוץ Restrict Resource Service Usage של מדיניות הארגון, כמו פרויקטים מאובטחים.

כדי לפתור את הבעיה, מוודאים ש-Dataform API מופעל:

  1. במסוף Google Cloud , נכנסים לדף APIs & Services.
  2. מחפשים את Dataform API ומוודאים שהוא מופעל.
  3. אם ה-API לא מופעל, לוחצים על הפעלה.
  4. אפשר לנסות שוב באמצעות שאילתות שמורות.

אי התאמה באזור בשאילתות שמורות

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

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

שאילתות שמורות בגרסה הקלאסית

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

הרשאות שנדרשות לשאילתות שמורות קלאסיות

כדי ליצור, להציג, לעדכן ולמחוק שאילתות שמורות קלאסיות, צריך את הרשאות ה-IAM הבאות:

  • שאילתות שמורות פרטיות בגרסה הקלאסית:
    • לא נדרשות הרשאות מיוחדות כדי ליצור שאילתות פרטיות שנשמרו בגרסה הקלאסית של BigQuery. אפשר לשמור שאילתה פרטית בכל פרויקט, אבל רק אתם יכולים לראות, לעדכן או למחוק את השאילתה.
  • שאילתות שמורות קלאסיות ברמת הפרויקט:
    • כדי ליצור שאילתה קלאסית שמורה ברמת הפרויקט, נדרשות הרשאות 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.
  • שאילתות ציבוריות שמורות בגרסה הקלאסית של Analytics:
    • כדי ליצור שאילתות שמורות ציבוריות בגרסה הקלאסית של BigQuery, לא נדרשות הרשאות מיוחדות. אפשר לשמור שאילתה ציבורית קלאסית בכל פרויקט, אבל רק אתם יכולים לעדכן או למחוק את השאילתה. כל מי שיש לו את הקישור יכול לראות שאילתה ציבורית קלאסית שנשמרה.

מידע נוסף על תפקידי IAM ב-BigQuery זמין במאמר תפקידים והרשאות מוגדרים מראש.

יצירת שאילתות שמורות קלאסיות

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

    כניסה ל-BigQuery

  2. לוחצים על שאילתת SQL.

  3. מזינים שאילתת 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;
  4. לוחצים על שמירת שאילתה (גרסה קלאסית) > שמירת שאילתה (גרסה קלאסית).

  5. בתיבת הדו-שיח שמירת השאילתה, מזינים שם לשאילתה ומגדירים את ההרשאות לאחת מהאפשרויות הבאות:

    • אישית (ניתנת לעריכה רק על ידך) לשאילתה שמורה פרטית בגרסה הקלאסית.
    • פרויקט (ניתן לעריכה על ידי חשבונות משתמשים עם הרשאות מתאימות) לשאילתה קלאסית שמורה ברמת הפרויקט.
    • ציבורית לשאילתה ציבורית שמורה בגרסה הקלאסית של Analytics.
  6. לוחצים על Save.

שיתוף שאילתות קלאסיות שמורות

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

כדי לשתף שאילתה קלאסית שמורה עם משתמשים אחרים, צריך ליצור קישור לשאילתה הקלאסית השמורה ולשתף אותו.

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

אם אתם מתכננים לשתף שאילתה קלאסית שמורה, כדאי לכלול הערה בשאילתה שמתארת את המטרה שלה.

כדי לשתף שאילתה קלאסית שמורה, פועלים לפי השלבים הבאים:

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

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

  2. בחלונית Explorer, מרחיבים את הפרויקט ולוחצים על (Classic) Queries.

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

  4. לצד השאילתה, לוחצים על הצגת פעולות ואז על העתקת הקישור.

  5. משתפים את הקישור עם המשתמשים שרוצים להעניק להם גישה לשאילתה.

עדכון שאילתות שמורות בגרסה הקלאסית

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

    כניסה ל-BigQuery

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

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

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

  3. בחלונית Explorer מרחיבים את הפרויקט ואת התיקייה (Classic) Queries, ואם צריך, גם את התיקייה Project queries.

  4. כדי לפתוח שאילתה קלאסית שנשמרה, לוחצים על השם שלה.

  5. משנים את השאילתה.

  6. כדי לשמור את השאילתה ששונתה, לוחצים על שמירת שאילתה (גרסה קלאסית) > שמירת שאילתה (גרסה קלאסית).

פתרון בעיות בשאילתות שמורות בגרסה הקלאסית

בקטע הזה מוסבר איך לפתור בעיות נפוצות שקשורות לשאילתות שמורות בגרסה הקלאסית של BigQuery.

אי אפשר לגשת לשאילתות שמורות של משתמש שהחשבון שלו הושבת

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

כדי לשחזר את השאילתות האלה, אדמין ב-Google Workspace או ב-Cloud Identity צריך לבצע את השלבים הבאים:

  1. מפעילים מחדש באופן זמני את החשבון של המשתמש שהושבת.
  2. מאפסים את הסיסמה של המשתמש.
  3. נכנסים למסוף Google Cloud בתור המשתמש שהפעילו מחדש.
  4. בעורך השאילתות, פותחים כל שאילתה שמורה.
  5. לוחצים על שמירה או על שמירת השאילתה בשם.
  6. משנים את Visibility (חשיפה) מPersonal (אישי) לProject (פרויקט).
  7. לוחצים על Save. כך השאילתה גלויה למשתמשים אחרים באותו פרויקט שיש להם את ההרשאות הנדרשות.
  8. אחרי שכל השאילתות יועברו, צריך להשעות מחדש את חשבון המשתמש.

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

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