ניהול תרחישים

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

הרשאות

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

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

יצירת תרחיש

כדי ליצור שגרה, צריך את ההרשאה bigquery.routines.create.

הצגת רשימת התרחישים

כדי להציג את רשימת השגרות במערך נתונים, צריך את ההרשאות bigquery.routines.get ו-bigquery.routines.list.

המסוף

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

    כניסה ל-BigQuery

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

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

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

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

  4. לוחצים על הכרטיסייה תרחישים.

SQL

שליחת שאילתה לתצוגה INFORMATION_SCHEMA.ROUTINES:

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

    כניסה ל-BigQuery

  2. בעורך השאילתות, מזינים את ההצהרה הבאה:

    SELECT
      COLUMN_LIST
    FROM
       { DATASET | REGION }.INFORMATION_SCHEMA.ROUTINES;

  3. לוחצים על הפעלה.

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

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

דוגמה:

SELECT
  routine_name, routine_type, routine_body
FROM
  mydataset.INFORMATION_SCHEMA.ROUTINES;
+------------------+----------------+--------------+
|   routine_name   |  routine_type  | routine_body |
+------------------+----------------+--------------+
| AddFourAndDivide | FUNCTION       | SQL          |
| create_customer  | PROCEDURE      | SQL          |
| names_by_year    | TABLE FUNCTION | SQL          |
+------------------+----------------+--------------+

BQ

משתמשים בפקודה bq ls עם הדגל --routines:

bq ls --routines DATASET

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

  • ‫DATASET: השם של מערך נתונים בפרויקט.

דוגמה:

bq ls --routines mydataset
         Id              Routine Type        Language    Creation Time    Last Modified Time
------------------ ----------------------- ---------- ----------------- --------------------
 AddFourAndDivide   SCALAR_FUNCTION         SQL        05 May 01:12:03   05 May 01:12:03
 create_customer    PROCEDURE               SQL        21 Apr 19:55:51   21 Apr 19:55:51
 names_by_year      TABLE_VALUED_FUNCTION   SQL        01 Sep 22:59:17   01 Sep 22:59:17

API

מפעילים את ה-method‏ routines.list עם מזהה מערך הנתונים.

הצגת גוף התרחיש

כדי לראות את גוף השגרה, נדרשת ההרשאה bigquery.routines.get.

המסוף

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

    כניסה ל-BigQuery

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

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

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

  4. לוחצים על הכרטיסייה תרחישים.

  5. בוחרים את התרחיש. גוף השגרה מופיע בקטע Routine query.

SQL

בוחרים את העמודה routine_definition בתצוגה INFORMATION_SCHEMA.ROUTINES:

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

    כניסה ל-BigQuery

  2. בעורך השאילתות, מזינים את ההצהרה הבאה:

    SELECT
      routine_definition
    FROM
      { DATASET | REGION }.INFORMATION_SCHEMA.ROUTINES
    WHERE
      routine_name = ROUTINE_NAME;

  3. לוחצים על הפעלה.

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

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

  • ‫DATASET: השם של מערך נתונים בפרויקט.
  • ‫REGION: מזהה אזור.
  • ‫ROUTINE_NAME: שם התרחיש.

דוגמה:

SELECT
  routine_definition
FROM
  mydataset.INFORMATION_SCHEMA.ROUTINES
WHERE
  routine_name = 'AddFourAndDivide';
+--------------------+
| routine_definition |
+--------------------+
| (x + 4) / y        |
+--------------------+

BQ

משתמשים בפקודה bq show עם הדגל --routine:

bq show --routine DATASET.ROUTINE_NAME

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

  • ‫DATASET: השם של מערך נתונים בפרויקט.
  • ‫ROUTINE_NAME: שם התרחיש.

דוגמה:

bq show --routine mydataset.AddFourAndDivide
         Id           Routine Type     Language             Signature             Definition     Creation Time    Last Modified Time
 ------------------ ----------------- ---------- ------------------------------- ------------- ----------------- --------------------
  AddFourAndDivide   SCALAR_FUNCTION   SQL        (x INT64, y INT64) -> FLOAT64   (x + 4) / y   05 May 01:12:03   05 May 01:12:03

API

מפעילים את השיטה routines.get עם מזהה קבוצת הנתונים ושם השגרה. גוף השגרה מוחזר באובייקט Routine.

מחיקת תרחיש

כדי למחוק שגרה, נדרשת ההרשאה bigquery.routines.delete.

המסוף

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

    כניסה ל-BigQuery

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

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

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

  4. לוחצים על הכרטיסייה תרחישים.

  5. בוחרים את התרחיש.

  6. בחלונית הפרטים, לוחצים על מחיקה.

  7. מקלידים "delete" בתיבת הדו-שיח ולוחצים על מחיקה כדי לאשר.

SQL

בהתאם לסוג השגרה, מריצים אחת מהצהרות ה-DDL הבאות:

דוגמה:

DROP FUNCTION IF EXISTS mydataset.AddFourAndDivide

BQ

משתמשים בפקודה bq rm עם הדגל --routine:

bq rm --routine DATASET.ROUTINE_NAME

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

  • ‫DATASET: השם של מערך נתונים בפרויקט.
  • ‫ROUTINE_NAME: שם התרחיש.

דוגמה:

bq rm --routine mydataset.AddFourAndDivide

API

מפעילים את השיטה routines.delete עם מזהה קבוצת הנתונים ושם השגרה.