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

ב-BigQuery, ‏ routines הם סוג משאב שכולל את הרכיבים הבאים:

במסמך הזה מתוארות משימות שמשותפות לכל סוגי השגרה ב-BigQuery.

הרשאות

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

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

יצירת תרחיש

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

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

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

המסוף

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

    כניסה ל-BigQuery

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

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

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

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

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

SQL

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

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

    כניסה ל-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

מבצעים קריאה ל-routines.list method עם מזהה מערך הנתונים.

הצגת התוכן של תרחיש

כדי לראות את גוף השגרה, צריך לקבל את ההרשאה bigquery.routines.get.

המסוף

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

    כניסה ל-BigQuery

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

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

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

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

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

SQL

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

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

    כניסה ל-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 method עם מזהה מערך הנתונים והשם של השגרה. גוף הפונקציה מוחזר באובייקט Routine.

מחיקת תרחיש

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

המסוף

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

    כניסה ל-BigQuery

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

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

  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 method עם מזהה מערך הנתונים והשם של השגרה.