セッションの概要

このガイドでは、BigQuery セッションで変更を有効化、作成、追跡する方法について説明します。このドキュメントは、BigQuery標準 SQL に精通している方を対象としています。

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_BY_PROJECT を使用してプロジェクトで作成したすべてのセッションの 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

次のステップ