保存したクエリを作成する
このドキュメントでは、保存したクエリと従来の保存したクエリを作成する方法について説明します。
保存したクエリ
保存したクエリを作成する方法については、以降のセクションをご覧ください。保存されたクエリは、Dataform によって強化された BigQuery Studio コードアセットです。
保存したクエリの削除と保存したクエリの履歴の管理の詳細については、保存したクエリをご覧ください。
BigQuery Studio を有効にする
アセット管理に関する BigQuery Studio を有効にするの手順に沿って、コードアセット(保存したクエリなど)のバージョンを保存、共有、管理します。
必要な権限
保存したクエリを作成、編集、表示するための適切な権限を設定します。
Dataform 管理者(roles/dataform.admin
)ロールを持つすべてのユーザーは、プロジェクトで作成されたすべての保存クエリに対するオーナー アクセス権を持ちます。
BigQuery Identity and Access Management(IAM)の詳細については、IAM によるアクセス制御をご覧ください。
保存したクエリを作成する権限
保存したクエリを作成して実行するには、次の IAM 権限が必要です。
dataform.locations.get
dataform.locations.list
dataform.repositories.list
dataform.repositories.create
これらの権限は、次の IAM ロールから取得できます。
保存したクエリを編集する権限
保存したクエリを編集して実行するには、次の IAM ロールが必要です。
- BigQuery ジョブユーザー(
roles/bigquery.jobUser
) - BigQuery 読み取りセッション ユーザー(
roles/bigquery.readSessionUser
) - コードエディタ(
roles/dataform.codeEditor
)
保存したクエリを表示する権限
保存したクエリを表示して実行するには、次の IAM ロールが必要です。
- BigQuery ジョブユーザー(
roles/bigquery.jobUser
) - BigQuery 読み取りセッション ユーザー(
roles/bigquery.readSessionUser
) - コード閲覧者(
roles/dataform.codeViewer
)
コードアセットにデフォルトのリージョンを設定する
コードアセットを初めて作成する場合は、コードアセットのデフォルト リージョンを設定します。コードアセットのリージョンを作成後に変更することはできません。
保存したクエリの作成
保存したクエリを作成する手順は次のとおりです。
Google Cloud コンソールで [BigQuery] ページに移動します。
[SQL クエリ] をクリックします。
クエリエディタで、有効な SQL クエリを入力します。 たとえば、一般公開データセットに対してクエリを実行できます。
SELECT name, SUM(number) AS total FROM `bigquery-public-data.usa_names.usa_1910_2013` GROUP BY name ORDER BY total DESC LIMIT 10;
[クエリを保存] > [クエリを保存] をクリックします。
[クエリを保存] ダイアログで、保存したクエリの名前を入力します。
省略可: この保存したクエリと今後の他のすべてのコードアセットで使用されるリージョンを変更するには、[リージョン] で新しいリージョンを選択します。
[保存] をクリックします。
保存したクエリへのアクセス権を付与する
保存済みクエリへのアクセス権を他のユーザーに付与するには、それらのユーザーを適切な IAM ロールに追加します。
Google Cloud コンソールで [BigQuery] ページに移動します。
[エクスプローラ] ペインで、プロジェクトと [クエリ] フォルダを開き、必要に応じて [共有クエリ] フォルダを開きます。アクセスを許可する保存済みクエリを見つけます。
保存済みクエリの横にある > [権限を管理] をクリックします。
[アクションを表示] をクリックし、[共有][権限を管理] ペインで、[ユーザー / グループの追加] をクリックします。
[新しいプリンシパル] フィールドに、プリンシパルを入力します。
[ロール] リストで、次のいずれかのロールを選択します。
省略可: ロールと詳細な共有設定の完全なリストを表示するには、[詳細な共有] をクリックします。
[保存] をクリックします。
保存したクエリの情報に戻るには、[閉じる] をクリックします。
保存したクエリの共有
保存したクエリを他のユーザーと共有するには、保存したクエリへのリンクを生成して共有します。共有されている保存したクエリがユーザーに対して表示されるようにするには、まず、保存したクエリへのアクセス権を付与する必要があります。
共有クエリを実行するには、クエリがアクセスするデータへのアクセス権が必要です。詳細については、データセットへのアクセス権を付与するをご覧ください。
保存済みクエリを共有する予定の場合は、その目的を説明するコメントをクエリに含めることを検討してください。
Google Cloud コンソールで [BigQuery] ページに移動します。
[エクスプローラ] ペインで、プロジェクトと [クエリ] フォルダを開き、必要に応じて [共有クエリ] フォルダを開きます。共有する保存済みクエリを見つけます。
クエリの横にある > [リンクをコピー] をクリックします。
[アクションを表示] をクリックし、[共有]リンクを他のユーザーと共有します。
保存したクエリ バージョンを新しいクエリとして開く
既存の保存したクエリの任意のバージョンを新しいクエリとして開く手順は、次のとおりです。
Google Cloud コンソールで [BigQuery] ページに移動します。
[エクスプローラ] ペインで、プロジェクトと [クエリ] フォルダを開き、必要に応じて [共有クエリ] フォルダを開きます。保存したクエリを選択します。
[アクティビティ] ペインを選択します。
保存したクエリ バージョンの横にある
(アクションを表示)をクリックし、[新規クエリとして開く] をクリックします。
保存したクエリの更新
保存したクエリを更新すると、クエリの新しいバージョンに変更内容を保存できます。
Google Cloud コンソールで [BigQuery] ページに移動します。
[エクスプローラ] ペインで、プロジェクトと [クエリ] フォルダを開き、必要に応じて [共有クエリ] フォルダを開きます。保存したクエリの名前をクリックして開きます。
クエリを変更します。
変更したクエリを保存するには、 [クエリを保存] > [クエリを保存] をクリックします。
クエリの新しいバージョンが作成され、[アクティビティ] ペインに表示されます。
保存したクエリをアップロードする
ローカル SQL クエリをアップロードして、BigQuery Studio で保存したクエリとして使用できます。アップロードされた保存したクエリは、Google Cloud コンソールの BigQuery ページにも表示されます。
保存したクエリをアップロードするには、次の操作を行います。
Google Cloud コンソールで [BigQuery] ページに移動します。
[エクスプローラ] ペインでプロジェクトを開き、次のいずれかを行います。
- [クエリ] の横にある > [SQL クエリのアップロード] をクリックします。 (アクションを表示)
- Google Cloud プロジェクト名の横にある > [プロジェクトにアップロードする] > [SQL クエリ] をクリックします。 (アクションを表示)
[SQL のアップロード] ダイアログの [SQL] フィールドで、[参照] をクリックして、アップロードするクエリを選択します。
省略可: [SQL 名] フィールドで、クエリの名前を編集します。
[リージョン] フィールドで、保存したクエリをアップロードするリージョンを選択します。
[アップロード] をクリックします。
保存したクエリが [エクスプローラ ペイン] に表示されます。
従来の保存したクエリ
以降のセクションでは、従来の保存したクエリを作成、更新する方法について説明します。従来の保存したクエリの共有、移行、削除の詳細については、従来の保存したクエリをご覧ください。
従来の保存したクエリに必要な権限
従来の保存クエリを作成、表示、更新、削除するには、次の IAM 権限が必要です。
- 非公開の従来の保存したクエリ:
- 非公開の従来の保存クエリを作成することに、特別な権限は必要ありません。非公開クエリはどのプロジェクトにも保存できますが、このクエリを表示、更新、削除できるのは保存したユーザーに限られます。
- プロジェクト レベルの従来の保存したクエリ:
- プロジェクトレベルの従来の保存クエリを作成するには、
bigquery.savedqueries.create
権限が必要です。定義済みのbigquery.admin
役割には、bigquery.savedqueries.create
権限が含まれています。 - プロジェクトレベルの従来の保存クエリを表示するには、
bigquery.savedqueries.get
とbigquery.savedqueries.list
権限が必要です。定義済みのbigquery.admin
およびbigquery.user
役割には、bigquery.savedqueries.get
権限とbigquery.savedqueries.list
権限が含まれています。 - プロジェクトレベルの従来の保存クエリを更新するには、
bigquery.savedqueries.update
権限が必要です。定義済みのbigquery.admin
役割には、bigquery.savedqueries.update
権限が含まれています。 - プロジェクトレベルの従来の保存クエリを削除するには、
bigquery.savedqueries.delete
権限が必要です。定義済みのbigquery.admin
役割には、bigquery.savedqueries.delete
権限が含まれています。
- プロジェクトレベルの従来の保存クエリを作成するには、
- 一般公開の従来の保存したクエリ:
- 一般公開の従来の保存したクエリを作成するために特別な権限は必要ありません。一般公開の従来の保存クエリは任意のプロジェクトに保存できますが、このクエリを更新または削除できるのは保存したユーザーのみです。リンクを知っていれば誰でも、一般公開の従来の保存したクエリを閲覧できます。
BigQuery での IAM のロールの詳細については、事前定義ロールと権限をご覧ください。
従来の保存したクエリを作成する
Google Cloud コンソールで [BigQuery] ページに移動します。
[SQL クエリ] をクリックします。
クエリエディタで、有効な SQL クエリを入力します。 たとえば、一般公開データセットに対してクエリを実行できます。
SELECT name, SUM(number) AS total FROM `bigquery-public-data.usa_names.usa_1910_2013` GROUP BY name ORDER BY total DESC LIMIT 10;
[クエリ(従来)を保存] > [クエリ(従来)を保存] をクリックします。
[クエリを保存] ダイアログで、クエリの名前を入力し、[公開設定] を次のいずれかのオプションに設定します。
- [個人用(本人のみが編集可能)]: 非公開の従来の共有クエリの場合。
- [プロジェクト(適切な権限を持つプリンシパルが編集可能)]: プロジェクト レベルの従来の保存クエリの場合。
- [一般公開]: 一般公開の従来の保存クエリの場合。
[保存] をクリックします。
従来の保存クエリの共有
共有できる従来の保存したクエリは、公開設定がプロジェクトまたは一般公開に設定されているクエリです。プロジェクトの公開設定を指定すると、必要な権限を持つプリンシパルがクエリを表示、更新、削除できます。一般公開の公開設定では、クエリリンクのあるすべての人がクエリを表示できますが、更新や削除はできません。
従来の保存したクエリを他のユーザーと共有するには、このクエリへのリンクを生成して共有します。
従来の共有クエリを実行するには、クエリがアクセスするデータへのアクセス権が必要です。詳細については、データセットへのアクセス権を付与するをご覧ください。
従来の保存済みクエリを共有する場合は、その目的を説明するコメントをクエリに含めることを検討してください。
- [エクスプローラ] ペインで、プロジェクトと [(従来)クエリ] フォルダを開き、共有する従来の保存済みクエリを見つけます。
- クエリの横にある (アクションを表示)をクリックし、[リンクを取得] をクリックします。
- クエリへのアクセスを許可するユーザーとリンクを共有します。
従来の保存したクエリを更新する
Google Cloud コンソールで [BigQuery] ページに移動します。
[エクスプローラ] ペインで、プロジェクトと [(従来)クエリ] フォルダを開き、必要に応じて [プロジェクト クエリ] フォルダを開きます。
従来の保存したクエリの名前をクリックして開きます。
クエリを変更します。
変更したクエリを保存するには、 クエリを保存(従来)>クエリを保存(従来) をクリックします。
次のステップ
- 保存したクエリを管理する方法を確認する。