SESSIONS_BY_PROJECT ビュー
INFORMATION_SCHEMA.SESSIONS_BY_PROJECT ビューには、現在のプロジェクト内のすべての BigQuery セッションに関するリアルタイムのメタデータが含まれます。
必要な権限
INFORMATION_SCHEMA.SESSIONS_BY_PROJECT ビューをクエリするには、プロジェクトの bigquery.jobs.listAll Identity and Access Management(IAM)権限が必要です。次に示す事前定義された各 IAM ロールには、必要な権限が含まれています。
- プロジェクト オーナー
 - BigQuery 管理者
 
BigQuery の権限の詳細については、IAM でのアクセス制御をご覧ください。
スキーマ
INFORMATION_SCHEMA.SESSIONS_BY_* ビューにクエリを実行すると、各 BigQuery セッションに関する情報が 1 行ずつ表示されるクエリ結果が返されます。
INFORMATION_SCHEMA.SESSIONS_BY_* ビューのスキーマは次のとおりです。
| 列名 | データ型 | 値 | 
|---|---|---|
creation_time | 
      TIMESTAMP | 
      (パーティショニング列)このジョブの作成時間。 パーティショニングは、このタイムスタンプの UTC 時間に基づきます。 | 
expiration_time | 
      TIMESTAMP | 
      (パーティショニング列)このセッションの有効期限。 パーティショニングは、このタイムスタンプの UTC 時間に基づきます。 | 
is_active | 
      BOOL | 
      
        セッションはまだアクティブの場合は TRUE、それ以外の場合は FALSE。
       | 
    
last_modified_time | 
      TIMESTAMP | 
      (パーティショニング列)セッションが最後に変更された時刻。 パーティショニングは、このタイムスタンプの UTC 時間に基づきます。 | 
project_id | 
      STRING | 
      (クラスタリング列)プロジェクトの ID。 | 
project_number | 
      INTEGER | 
      プロジェクトの番号。 | 
session_id | 
      STRING | 
      セッションの ID。例: bquxsession_1234。 | 
    
user_email | 
      STRING | 
      (クラスタリング列)ジョブを実行したユーザーのメールアドレスまたはサービス アカウント。 | 
データの保持
このビューには、現在実行中のセッションと、過去 180 日間に完了したセッションの履歴が含まれます。
スコープと構文
このビューに対するクエリでは、リージョン修飾子を指定する必要があります。リージョン修飾子を指定しない場合、メタデータはすべてのリージョンで取得されます。次の表で、このビューのリージョン スコープを説明します。
| ビュー名 | リソース スコープ | リージョン スコープ | 
|---|---|---|
[PROJECT_ID.]`region-REGION`.INFORMATION_SCHEMA.SESSIONS_BY_PROJECT | 
  プロジェクト レベル | REGION | 
  
- 
  省略可: 
PROJECT_ID: Google Cloud プロジェクトの ID。指定しない場合は、デフォルトのプロジェクトが使用されます。 - 
  
REGION: 任意のデータセット リージョン名。例:`region-us` 
例
デフォルト プロジェクト以外のプロジェクトに対してクエリを実行するには、次の形式でプロジェクト ID を追加します。
`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 | +--------------+