保存済みクエリを作成する
クエリエディタで SQL を記述すると、クエリを保存して他のユーザーと共有できます。保存済みクエリは、Dataform によって強化された 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)
コードアセットにデフォルトのリージョンを設定する
コードアセットを初めて作成する場合は、コードアセットのデフォルト リージョンを設定する必要があります。コードアセットのリージョンを作成後に変更することはできません。
BigQuery Studio のすべてのコードアセットは同じデフォルト リージョンを使用します。コードアセットのデフォルト リージョンを設定する手順は次のとおりです。
- [BigQuery] ページに移動します。 
- [エクスプローラ] ペインで、コードアセットを有効にしたプロジェクトを見つけます。 
- プロジェクトの横にある (アクションを表示)をクリックし、[デフォルトのコード リージョンを変更] をクリックします。 
- [リージョン] で、コードアセットに使用するリージョンを選択します。 
- [選択] をクリックします。 
サポートされているリージョンの一覧については、BigQuery Studio のロケーションをご覧ください。
保存したクエリを作成する
保存済みクエリを作成する手順は次のとおりです。
- 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; - または、[リファレンス] パネルを使用して新しいクエリを作成することもできます。 
 (保存)> [クエリを保存] をクリックするか、Ctrl+S キー(macOS の場合は Command+S キー)を押します。 (保存)> [クエリを保存] をクリックするか、Ctrl+S キー(macOS の場合は Command+S キー)を押します。
- [クエリを保存] ダイアログで、保存済みクエリの名前を入力します。 
- 省略可: この保存済みクエリと今後の他のすべてのコードアセットで使用されるリージョンを変更するには、[リージョン] で新しいリージョンを選択します。 
- [保存] をクリックします。 - 保存済みクエリの最初のバージョンが作成されます。 
- 省略可: クエリを保存した後は、次のツールバーを使用して、クエリの詳細やバージョン履歴の表示、新しいコメントの追加、既存のコメントへの返信、既存のコメントへのリンクの取得を行うことができます。  - [詳細]、[変更履歴]、[コメント] のツールバー機能はプレビュー版です。これらの機能に関するフィードバックやサポートをリクエストする場合は、bqui-workspace-pod@google.com までメールをお送りください。 
保存したクエリを共有する
保存済みクエリをユーザーと共有するには、まずそのユーザーに保存済みクエリへのアクセス権を付与し、適切な IAM ロールに追加します。次に、保存済みクエリへのリンクを生成し、そのリンクをユーザーと共有します。
クエリを共有したユーザーには、クエリの最新バージョンのみが表示されます。明示的に保存していない自動保存された変更は、共有クエリには表示されません。
- Google Cloud コンソールで、[BigQuery] ページに移動します。 
- 左側のペインで、 [エクスプローラ] をクリックします。  - 左側のペインが表示されていない場合は、 左側のペインを開くをクリックしてペインを開きます。 
- [エクスプローラ] ペインで、プロジェクトを開き、[クエリ] をクリックします。 
- アクセス権を付与する保存済みクエリを見つけてクリックします。検索機能またはフィルタを使用して、クエリを見つけることができます。 
- [共有]、[権限を管理] の順にクリックします。 
- [権限を管理] ペインで、[ユーザー / グループを追加] をクリックします。 
- [新しいプリンシパル] フィールドに、プリンシパルを入力します。 
- [ロール] リストで、次のいずれかのロールを選択します。 
- 省略可: ロールと詳細な共有設定の完全なリストを表示するには、[詳細な共有] をクリックします。 
- [保存] をクリックします。 
- 保存済みクエリの情報に戻るには、[閉じる] をクリックします。 
- 保存済みクエリへのリンクを生成するには、 [共有]、[リンクを取得] の順にクリックします。 - リンクがクリップボードにコピーされます。 
保存したクエリ バージョンを新しいクエリとして開く
既存の保存したクエリの任意のバージョンを新しいクエリとして開く手順は、次のとおりです。
- Google Cloud コンソールで、[BigQuery] ページに移動します。 
- 左側のペインで、 [エクスプローラ] をクリックします。  - 左側のペインが表示されていない場合は、 左側のペインを開くをクリックしてペインを開きます。 
- [エクスプローラ] ペインで、プロジェクトを開き、[クエリ] をクリックします。 
- 保存したクエリを選択します。検索機能またはフィルタを使用して、クエリを見つけることができます。 
- [変更履歴] をクリックします。 
- 保存したクエリ バージョンの横にある (アクションを表示)をクリックし、[新規クエリとして開く] をクリックします。 
保存したクエリを更新する
保存したクエリのテキストに加えた変更は、入力が停止してから 2 秒後に自動的に保存され、[変更履歴] に [変更内容] として表示されます。自動保存された変更は、クエリの新しいバージョンではありません。自動保存された変更は、クエリを開くたびに表示されますが、クエリの新しいバージョンとして明示的に保存しない限り、他のユーザーには表示されません。自動保存されたクエリはプレビュー版です。
- Google Cloud コンソールで、[BigQuery] ページに移動します。 
- 左側のペインで、 [エクスプローラ] をクリックします。  
- [エクスプローラ] ペインで、プロジェクトを開き、[クエリ] をクリックします。 
- 保存したクエリを選択します。検索機能またはフィルタを使用して、クエリを見つけることができます。 
- クエリを変更します。 
- 変更したクエリを保存するには、  [クエリを保存] > [クエリを保存] をクリックするか、Ctrl+S(macOS の場合は Command+S)を押します。 [クエリを保存] > [クエリを保存] をクリックするか、Ctrl+S(macOS の場合は Command+S)を押します。- クエリの新しいバージョンが作成されます。 
保存したクエリをアップロードする
ローカル 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; 
 [クエリ(従来)を保存] > [クエリ(従来)を保存] をクリックします。 [クエリ(従来)を保存] > [クエリ(従来)を保存] をクリックします。
- [クエリを保存] ダイアログで、クエリの名前を入力し、[公開設定] を次のいずれかのオプションに設定します。 - 個人用(本人のみが編集可能): 非公開の従来の共有クエリの場合。
- プロジェクト(適切な権限を持つプリンシパルが編集可能): プロジェクト レベルの従来の保存したクエリの場合。
- 一般公開: 一般公開の従来の保存したクエリの場合。
 
- [保存] をクリックします。 
従来の保存したクエリを共有する
共有できる従来の保存済みクエリは、公開設定がプロジェクトまたは一般公開に設定されているクエリです。プロジェクトの公開設定を指定すると、必要な権限を持つプリンシパルがクエリを表示、更新、削除できます。一般公開の公開設定では、クエリリンクを知っているすべての人がクエリを表示できますが、更新や削除はできません。
従来の保存済みクエリを他のユーザーと共有するには、このクエリへのリンクを生成して共有します。
従来の共有クエリを実行するには、クエリがアクセスするデータへのアクセス権が必要です。詳細については、データセットへのアクセス権を付与するをご覧ください。
従来の保存済みクエリを共有する場合は、その目的を説明するコメントをクエリに含めることを検討してください。
- 左側のペインで、カテゴリ クラシック エクスプローラをクリックします。 ![従来の [エクスプローラ] ペインのハイライト表示されたボタン。](https://cloud.google.com/static/bigquery/images/classic-explorer-tab.png?authuser=19&hl=ja) - 左側のペインが表示されていない場合は、 左側のペインを開くをクリックしてペインを開きます。 
- [従来のエクスプローラ] ペインで、プロジェクトを開き、[(従来)クエリ] をクリックして、共有する従来の保存済みクエリを見つけます。 
- クエリの横にある (アクションを表示)をクリックし、[リンクを取得] をクリックします。 
- クエリへのアクセスを許可するユーザーとリンクを共有します。 
従来の保存したクエリを更新する
- Google Cloud コンソールで、[BigQuery] ページに移動します。 
- 左側のペインで、カテゴリ クラシック エクスプローラをクリックします。 ![従来の [エクスプローラ] ペインのハイライト表示されたボタン。](https://cloud.google.com/static/bigquery/images/classic-explorer-tab.png?authuser=19&hl=ja) 
- [従来の Explorer] ペインで、プロジェクトと [(従来)クエリ] フォルダを開き、必要に応じて [プロジェクト クエリ] フォルダを開きます。 
- 従来の保存済みクエリの名前をクリックして開きます。 
- クエリを変更します。 
- 変更したクエリを保存するには、  [クエリ(従来)を保存] > [クエリ(従来)を保存] をクリックします。 [クエリ(従来)を保存] > [クエリ(従来)を保存] をクリックします。
次のステップ
- 保存したクエリを管理する方法を確認する。