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  |
+--------------+