התצוגה SESSIONS_BY_PROJECT

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

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

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

  • Project Owner
  • אדמין של BigQuery

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

סכימה

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

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

שם העמודה סוג נתונים ערך
creation_time TIMESTAMP (עמודת חלוקה למחיצות) מועד היצירה של הסשן הזה. החלוקה למחיצות מבוססת על זמן ה-UTC של חותמת הזמן הזו.
expiration_time TIMESTAMP (עמודת חלוקה למחיצות) מועד התפוגה של הסשן הזה. החלוקה למחיצות מבוססת על זמן ה-UTC של חותמת הזמן הזו.
folder_numbers ARRAY<INT64> המזהים של התיקיות בהיררכיה שמכילה את הפרויקט, מהרמה הנמוכה ביותר לרמה הגבוהה ביותר בהיררכיה.
is_active BOOL האם הסשן עדיין פעיל? ‫TRUE אם כן, אחרת FALSE.
last_modified_time TIMESTAMP (עמודת חלוקה למחיצות) הזמן שבו הסשן השתנה לאחרונה. החלוקה למחיצות מבוססת על זמן ה-UTC של חותמת הזמן הזו.
principal_subject STRING המזהה של חשבון המשתמש שהפעיל את הסשן. user:USER_EMAIL למשתמשים בחשבון Google,‏ serviceAccount:SA_EMAIL לחשבונות שירות או מזהה ישות מורשית שמתחיל ב-principal:// עבור איחוד זהויות של כוח עבודה וישויות מורשות של איחוד זהויות של עומסי עבודה (WIF).
project_id STRING (עמודת אשכול) מזהה הפרויקט.
project_number INTEGER מספר הפרויקט.
session_id STRING מזהה הסשן. לדוגמה, bquxsession_1234.
user_email STRING (עמודת אשכול) כתובת האימייל או חשבון השירות של המשתמש שהפעיל את הסשן.

כדי לשמור על יציבות, מומלץ לציין במפורש את העמודות בשאילתות של סכימת המידע, במקום להשתמש בתו כללי לחיפוש (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);

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

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