セッションの概要
このガイドでは、BigQuery セッションで変更を有効化、作成、追跡する方法について説明します。このドキュメントは、BigQuery と GoogleSQL について理解している方を対象としています。
BigQuery セッションでは SQL アクティビティをキャプチャできます。セッション全体を通して、一時テーブル、一時関数、変数を使用してクエリをインタラクティブに作成できます。同時に複数のセッションをアクティブにでき、各セッションの履歴が保存されます。セッションの履歴は、セッションの終了から 20 日後まで表示できます。
セッションの一般的な用途は次のとおりです。
一時的なセッション データを維持する。一度定義すれば、変数と一時テーブルをセッション全体で使用できます。
セッション別にクエリ履歴を検索する。セッション中に発生した特定の動作を追跡するには、セッション中に行われた変更の履歴を表示します。
複数のクエリにマルチステートメント トランザクションを作成する。セッション内でトランザクションの開始、変更、一時的な結果の表示を行ってから、commit またはロールバックを決定できます。これは、セッション内の複数のクエリに対して実行できます。セッションを使用しない場合は、1 つのクエリでマルチステートメント トランザクションを完了する必要があります。
料金
セッションの使用に追加の料金は発生しません。
オンデマンド料金を使用するプロジェクトの場合、
INFORMATION_SCHEMA
に対するクエリで料金が発生します。詳細は、INFORMATION_SCHEMA
の料金をご覧ください。セッションで作成した一時テーブルに対して料金が発生します。ストレージの料金は、テーブルに保存されているデータの量に基づいて計算されます。ストレージの料金については、ストレージの料金をご覧ください。
制限事項
セッション内の各クエリは、そのセッションが作成されたロケーションで実行されます。
セッションは、操作が行われない状態が 24 時間経過した時点で自動的に終了します。
現在、セッションは作成から 7 日後に自動的に終了します。
変数の最大サイズは 1 MB で、セッションで使用されるすべての変数の最大サイズは 10 MB です。
同じセッションで同時実行クエリを使用することはできません。
ロールと権限
このセクションでは、セッションの実行に必要な Identity and Access Management(IAM)権限と、IAM ロールについて説明します。
操作 | 必要な権限 | デフォルトのロール |
---|---|---|
新しいセッションを作成します。作成した既存のセッションを使用します。 | bigquery.jobs.create |
bigquery.user bigquery.Jobuser bigquery.admin |
作成したセッションを終了します。 | bigquery.jobs.create |
bigquery.user bigquery.Jobuser bigquery.admin |
別のユーザーが作成したセッションを終了します。 |
bigquery.jobs.create bigquery.jobs.update |
bigquery.admin |
プロジェクト内のセッションのリストを表示します。このリストには、INFORMATION_SCHEMA.JOBS_BY_USER を使用してプロジェクトで作成したセッションの ID が含まれます。 |
bigquery.jobs.list |
bigquery.user bigquery.Jobuser bigquery.admin |
プロジェクト内のすべてのユーザーのすべてのセッションを表示します。このリストには、INFORMATION_SCHEMA.JOBS を使用してプロジェクトで作成したすべてのセッションの ID が含まれます。 |
bigquery.jobs.listAll |
bigquery.admin
|
現在のプロジェクト内の現在のユーザーが作成したセッションのメタデータを、INFORMATION_SCHEMA.SESSIONS_BY_USER で表示します。
|
bigquery.jobs.list |
bigquery.user bigquery.Jobuser bigquery.admin |
現在のプロジェクト内のすべてのセッションのメタデータを INFORMATION_SCHEMA.SESSIONS_BY_PROJECT で表示します。 |
bigquery.jobs.listAll |
bigquery.admin
|