Appearance
保存済クエリ
保存済クエリ(メニュー上の表記は クエリ)は、コネクション単位で再利用する SQL を保存する機能です。複数のノートブックから参照したり、クエリ画面で直接実行したりできます。
作成、名前の変更、SQL・説明・カラムスキーマの変更、フォルダの変更、削除を記録します。 フォルダは、フォルダ名を / でつないだパスです。ルートの folder_path は null です。
フォルダを移動・削除すると、含まれていた保存済クエリごとに移動・削除を記録します。 フォルダ自体は記録しません。カラムの型・説明の変更とカラムの削除も更新として記録します。
専用のリソースロールはなく、操作可否は紐づくコネクションの権限に準じます。 そのため権限付与のイベントはありません。
保存済クエリの実行は query_job.create に記録され、 どの保存済クエリから実行・結果取得したかは context の saved_query で分かります。
AIエージェントや MCPクライアントからも作成・更新できます。 MCPクライアントの場合は saved-query:write スコープが必要です。 どの経路からの操作かは context に入ります。
イベント一覧
| イベント | リソース | 説明 |
|---|---|---|
saved_query.create | saved_query | 保存済クエリが作成された |
saved_query.rename | saved_query | 保存済クエリ名が変更された |
saved_query.update | saved_query | 保存済クエリが更新された |
saved_query.move | saved_query | 保存済クエリが移動された |
saved_query.export_table_function | saved_query | 保存済クエリがテーブル関数として書き出された |
saved_query.delete | saved_query | 保存済クエリが削除された |
イベント詳細
saved_query.create プレビュー
記録期間: 2026-09-24 〜
保存済クエリの作成を記録します。
| フィールド | 値 |
|---|---|
event.code | saved_query.create |
scope.type | workspace |
resource.type | saved_query |
references | (なし) |
query | (なし) |
outbound | (なし) |
change | 作成時のフォルダ |
grant | (なし) |
extra | (なし) |
change
作成時のフォルダパスが入ります。ルートに作成した場合は null です。
| 名前 | モード | 型 | 必須 | 説明 |
|---|---|---|---|---|
folder_path | 値 | string | 必須 | 作成時のフォルダパス sensitivity: pii |
サンプル
ルートへの作成
json
{
"event": {
"code": "saved_query.create",
...
},
"scope": {
"type": "workspace",
...
},
"resource": {
"type": "saved_query",
"uid": "63e1be654aa70ad689601c50",
"name": "Monthly Active Users",
"path": "connection/63e1be654aa70ad689601bef/saved_query/63e1be654aa70ad689601c50",
"parts": [
{
"type": "connection",
"uid": "63e1be654aa70ad689601bef",
"name": "BigQuery Prod"
},
{
"type": "saved_query",
"uid": "63e1be654aa70ad689601c50",
"name": "Monthly Active Users"
}
],
...
},
"change": {
"fields": [
{
"name": "folder_path",
"new": null
}
]
},
...
}フォルダへの作成
json
{
"event": {
"code": "saved_query.create",
...
},
"scope": {
"type": "workspace",
...
},
"resource": {
"type": "saved_query",
"uid": "63e1be654aa70ad689601c50",
"name": "Monthly Active Users",
"path": "connection/63e1be654aa70ad689601bef/saved_query/63e1be654aa70ad689601c50",
"parts": [
{
"type": "connection",
"uid": "63e1be654aa70ad689601bef",
"name": "BigQuery Prod"
},
{
"type": "saved_query",
"uid": "63e1be654aa70ad689601c50",
"name": "Monthly Active Users"
}
],
...
},
"change": {
"fields": [
{
"name": "folder_path",
"new": "/kpi"
}
]
},
...
}MCPクライアントからの作成
どのMCPクライアントのどの接続からの作成かは context.mcp から辿れます。
json
{
"event": {
"code": "saved_query.create",
...
},
"scope": {
"type": "workspace",
...
},
"resource": {
"type": "saved_query",
"uid": "63e1be654aa70ad689601c50",
"name": "Monthly Active Users",
"path": "connection/63e1be654aa70ad689601bef/saved_query/63e1be654aa70ad689601c50",
"parts": [
{
"type": "connection",
"uid": "63e1be654aa70ad689601bef",
"name": "BigQuery Prod"
},
{
"type": "saved_query",
"uid": "63e1be654aa70ad689601c50",
"name": "Monthly Active Users"
}
],
...
},
"context": {
"mcp": {
"client": {
"type": "mcp_client",
"uid": "cursor-dcr-01",
"name": "Cursor"
},
"oauth_session": {
"type": "mcp_oauth_session",
"uid": "oauth_sess_01"
},
"scopes": [
"saved-query:write"
]
}
},
"change": {
"fields": [
{
"name": "folder_path",
"new": null
}
]
},
...
}saved_query.rename プレビュー
記録期間: 2026-09-24 〜
保存済クエリの表示名の変更を記録します。
| フィールド | 値 |
|---|---|
event.code | saved_query.rename |
scope.type | workspace |
resource.type | saved_query |
references | (なし) |
query | (なし) |
outbound | (なし) |
change | name |
grant | (なし) |
extra | (なし) |
change
| 名前 | モード | 型 | 必須 | 説明 |
|---|---|---|---|---|
name | 値 | string | 必須 | 変更前後の表示名 sensitivity: pii |
サンプル
json
{
"event": {
"code": "saved_query.rename",
...
},
"scope": {
"type": "workspace",
...
},
"resource": {
"type": "saved_query",
"uid": "63e1be654aa70ad689601c50",
"name": "Monthly Active Users",
"path": "connection/63e1be654aa70ad689601bef/saved_query/63e1be654aa70ad689601c50",
"parts": [
{
"type": "connection",
"uid": "63e1be654aa70ad689601bef",
"name": "BigQuery Prod"
},
{
"type": "saved_query",
"uid": "63e1be654aa70ad689601c50",
"name": "Monthly Active Users"
}
],
...
},
"change": {
"fields": [
{
"name": "name",
"old": "MAU",
"new": "Monthly Active Users"
}
]
},
...
}saved_query.update プレビュー
記録期間: 2026-09-24 〜
保存済クエリの SQL・説明・カラムスキーマの変更を記録します。個別の変更内容は記録しません。
| フィールド | 値 |
|---|---|
event.code | saved_query.update |
scope.type | workspace |
resource.type | saved_query |
references | (なし) |
query | (なし) |
outbound | (なし) |
change | 変更された項目 |
grant | (なし) |
extra | (なし) |
change
どの項目に変更があったかが入ります。SQL 本文などの値は記録しません。 表示名の変更は saved_query.rename、 フォルダの変更は saved_query.move に記録されます。
| 名前 | モード | 型 | 必須 | 説明 |
|---|---|---|---|---|
sql | フラグ | — | 任意 | SQL に変更があったことを示す true |
description | フラグ | — | 任意 | 説明に変更があったことを示す true |
columns | フラグ | — | 任意 | カラムスキーマに変更があったことを示す true |
サンプル
SQL の変更
json
{
"event": {
"code": "saved_query.update",
...
},
"scope": {
"type": "workspace",
...
},
"resource": {
"type": "saved_query",
"uid": "63e1be654aa70ad689601c50",
"name": "Monthly Active Users",
"path": "connection/63e1be654aa70ad689601bef/saved_query/63e1be654aa70ad689601c50",
"parts": [
{
"type": "connection",
"uid": "63e1be654aa70ad689601bef",
"name": "BigQuery Prod"
},
{
"type": "saved_query",
"uid": "63e1be654aa70ad689601c50",
"name": "Monthly Active Users"
}
],
...
},
"change": {
"fields": [
{
"name": "sql",
"changed": true
},
{
"name": "columns",
"changed": true
}
]
},
...
}説明の変更
json
{
"event": {
"code": "saved_query.update",
...
},
"scope": {
"type": "workspace",
...
},
"resource": {
"type": "saved_query",
"uid": "63e1be654aa70ad689601c50",
"name": "Monthly Active Users",
"path": "connection/63e1be654aa70ad689601bef/saved_query/63e1be654aa70ad689601c50",
"parts": [
{
"type": "connection",
"uid": "63e1be654aa70ad689601bef",
"name": "BigQuery Prod"
},
{
"type": "saved_query",
"uid": "63e1be654aa70ad689601c50",
"name": "Monthly Active Users"
}
],
...
},
"change": {
"fields": [
{
"name": "description",
"changed": true
}
]
},
...
}saved_query.move プレビュー
記録期間: 2026-09-24 〜
保存済クエリのフォルダの変更を記録します。
| フィールド | 値 |
|---|---|
event.code | saved_query.move |
scope.type | workspace |
resource.type | saved_query |
references | (なし) |
query | (なし) |
outbound | (なし) |
change | folder_path |
grant | (なし) |
extra | (なし) |
change
| 名前 | モード | 型 | 必須 | 説明 |
|---|---|---|---|---|
folder_path | 値 | string | 必須 | 変更前後のフォルダパス。ルートのときは null ですsensitivity: pii |
サンプル
json
{
"event": {
"code": "saved_query.move",
...
},
"scope": {
"type": "workspace",
...
},
"resource": {
"type": "saved_query",
"uid": "63e1be654aa70ad689601c50",
"name": "Monthly Active Users",
"path": "connection/63e1be654aa70ad689601bef/saved_query/63e1be654aa70ad689601c50",
"parts": [
{
"type": "connection",
"uid": "63e1be654aa70ad689601bef",
"name": "BigQuery Prod"
},
{
"type": "saved_query",
"uid": "63e1be654aa70ad689601c50",
"name": "Monthly Active Users"
}
],
...
},
"change": {
"fields": [
{
"name": "folder_path",
"old": null,
"new": "/kpi"
}
]
},
...
}saved_query.export_table_function プレビュー
記録期間: 2026-09-24 〜
BigQuery のテーブル関数として保存済クエリが書き出されたことを記録します。
| フィールド | 値 |
|---|---|
event.code | saved_query.export_table_function |
scope.type | workspace |
resource.type | saved_query |
references | (なし) |
query | (なし) |
outbound | (なし) |
change | (なし) |
grant | (なし) |
extra | 書き出し先 |
extra
テーブル関数を書き出した BigQuery のプロジェクト・データセット・関数名が入ります。
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
project_id | string | 必須 | 書き出し先の BigQuery プロジェクト ID sensitivity: pii |
dataset_id | string | 必須 | 書き出し先の BigQuery データセット ID sensitivity: pii |
function_name | string | 必須 | 書き出したテーブル関数名 sensitivity: pii |
サンプル
json
{
"event": {
"code": "saved_query.export_table_function",
...
},
"scope": {
"type": "workspace",
...
},
"resource": {
"type": "saved_query",
"uid": "63e1be654aa70ad689601c50",
"name": "Monthly Active Users",
"path": "connection/63e1be654aa70ad689601bef/saved_query/63e1be654aa70ad689601c50",
"parts": [
{
"type": "connection",
"uid": "63e1be654aa70ad689601bef",
"name": "BigQuery Prod"
},
{
"type": "saved_query",
"uid": "63e1be654aa70ad689601c50",
"name": "Monthly Active Users"
}
],
...
},
"extra": {
"project_id": "analytics-prod",
"dataset_id": "reporting",
"function_name": "daily_revenue"
},
...
}saved_query.delete プレビュー
記録期間: 2026-09-24 〜
保存済クエリの削除を記録します。
| フィールド | 値 |
|---|---|
event.code | saved_query.delete |
scope.type | workspace |
resource.type | saved_query |
references | (なし) |
query | (なし) |
outbound | (なし) |
change | (なし) |
grant | (なし) |
extra | (なし) |
サンプル
json
{
"event": {
"code": "saved_query.delete",
...
},
"scope": {
"type": "workspace",
...
},
"resource": {
"type": "saved_query",
"uid": "63e1be654aa70ad689601c50",
"name": "Monthly Active Users",
"path": "connection/63e1be654aa70ad689601bef/saved_query/63e1be654aa70ad689601c50",
"parts": [
{
"type": "connection",
"uid": "63e1be654aa70ad689601bef",
"name": "BigQuery Prod"
},
{
"type": "saved_query",
"uid": "63e1be654aa70ad689601c50",
"name": "Monthly Active Users"
}
],
...
},
...
}