התצוגה 'סשנים לפי פרויקט'

התצוגה INFORMATION_SCHEMA.SESSIONS_BY_PROJECT מכילה מטא-נתונים בזמן אמת על כל הסשנים של BigQuery בפרויקט הנוכחי.

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

כדי לשלוח שאילתה לתצוגה המפורטת INFORMATION_SCHEMA.SESSIONS_BY_PROJECT, צריך הרשאה לניהול זהויות והרשאות גישה (IAM) bigquery.jobs.listAll בפרויקט. כל אחד מהתפקידים המוגדרים מראש הבאים ב-IAM כולל את ההרשאה הנדרשת:

  • בעלי הפרויקט
  • אדמין של BigQuery

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

סכימה

כשמריצים שאילתה על התצוגות המפורטות INFORMATION_SCHEMA.SESSIONS_BY_*, תוצאות השאילתה מכילות שורה אחת לכל סשן ב-BigQuery.

לתצוגה INFORMATION_SCHEMA.SESSIONS_BY_* יש את הסכימה הבאה:

שם העמודה סוג נתונים ערך
creation_time TIMESTAMP ‫(Partitioning column) מועד היצירה של הסשן הזה. החלוקה למחיצות מבוססת על זמן UTC של חותמת הזמן הזו.
expiration_time TIMESTAMP (עמודת חלוקה) מועד התפוגה של הסשן הזה. החלוקה למחיצות מבוססת על זמן UTC של חותמת הזמן הזו.
is_active BOOL האם הסשן עדיין פעיל? ‫TRUE אם כן, אחרת ‫FALSE.
last_modified_time TIMESTAMP ‫(Partitioning column) השעה שבה בוצע השינוי האחרון בסשן. החלוקה למחיצות מבוססת על זמן UTC של חותמת הזמן הזו.
project_id STRING ‫(Clustering column) מזהה הפרויקט.
project_number INTEGER מספר הפרויקט.
session_id STRING מזהה הסשן. לדוגמה, bquxsession_1234.
user_email STRING ‫(Clustering column) כתובת האימייל או חשבון השירות של המשתמש שהפעיל את הסשן.

כדי לשמור על יציבות, מומלץ לציין במפורש את העמודות בשאילתות של סכימת המידע, במקום להשתמש בתו כל כללי (SELECT *). ציון מפורש של העמודות מונע את השבירה של השאילתות אם הסכימה הבסיסית משתנה.

שמירת נתונים

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

היקף ותחביר

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

שם התצוגה היקף המשאבים היקף האזור
[PROJECT_ID.]`region-REGION`.INFORMATION_SCHEMA.SESSIONS_BY_PROJECT ברמת הפרויקט REGION
מחליפים את מה שכתוב בשדות הבאים:
  • אופציונלי: PROJECT_ID: מזהה הפרויקט ב- Google Cloud . אם לא מציינים פרויקט, המערכת משתמשת בפרויקט שמוגדר כברירת מחדל.
  • REGION: כל שם של אזור במערך נתונים. לדוגמה, `region-us`.

דוגמה

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

`PROJECT_ID`.`region-REGION_NAME`.INFORMATION_SCHEMA.SESSIONS_BY_PROJECT
לדוגמה, `myproject`.`region-us`.INFORMATION_SCHEMA.SESSIONS_BY_PROJECT. בדוגמה הבאה מוצגת רשימה של כל המשתמשים או חשבונות השירות שיצרו סשנים בפרויקט מסוים ביום האחרון:

SELECT
  DISTINCT(user_email) AS user
FROM
  `region-us`.INFORMATION_SCHEMA.SESSIONS_BY_PROJECT
WHERE
  is_active = true
  AND creation_time >= TIMESTAMP_SUB(CURRENT_TIMESTAMP(), INTERVAL 1 DAY);
INFORMATION_SCHEMA

התוצאה אמורה להיראות כך:

+--------------+
| user         |
+--------------+
| abc@xyz.com  |
+--------------+
| def@xyz.com  |
+--------------+