Skip to content

保存済クエリ ​

保存済クエリ(メニュー上の表記は クエリ)は、コネクション単位で再利用する SQL を保存する機能です。複数のノートブックから参照したり、クエリ画面で直接実行したりできます。

作成、名前の変更、SQL・説明・カラムスキーマの変更、フォルダの変更、削除を記録します。 フォルダは、フォルダ名を / でつないだパスです。ルートの folder_path は null です。

フォルダを移動・削除すると、含まれていた保存済クエリごとに移動・削除を記録します。 フォルダ自体は記録しません。カラムの型・説明の変更とカラムの削除も更新として記録します。

専用のリソースロールはなく、操作可否は紐づくコネクションの権限に準じます。 そのため権限付与のイベントはありません。

保存済クエリの実行は query_job.create に記録され、 どの保存済クエリから実行・結果取得したかは context の saved_query で分かります。

AIエージェントや MCPクライアントからも作成・更新できます。 MCPクライアントの場合は saved-query:write スコープが必要です。 どの経路からの操作かは context に入ります。

イベント一覧 ​

イベントリソース説明
saved_query.createsaved_query保存済クエリが作成された
saved_query.renamesaved_query保存済クエリ名が変更された
saved_query.updatesaved_query保存済クエリが更新された
saved_query.movesaved_query保存済クエリが移動された
saved_query.export_table_functionsaved_query保存済クエリがテーブル関数として書き出された
saved_query.deletesaved_query保存済クエリが削除された

イベント詳細 ​

saved_query.create プレビュー ​

記録期間: 2026-09-24 〜

保存済クエリの作成を記録します。

フィールド値
event.codesaved_query.create
scope.typeworkspace
resource.typesaved_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.codesaved_query.rename
scope.typeworkspace
resource.typesaved_query
references(なし)
query(なし)
outbound(なし)
changename
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.codesaved_query.update
scope.typeworkspace
resource.typesaved_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.codesaved_query.move
scope.typeworkspace
resource.typesaved_query
references(なし)
query(なし)
outbound(なし)
changefolder_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.codesaved_query.export_table_function
scope.typeworkspace
resource.typesaved_query
references(なし)
query(なし)
outbound(なし)
change(なし)
grant(なし)
extra書き出し先

extra ​

テーブル関数を書き出した BigQuery のプロジェクト・データセット・関数名が入ります。

名前型必須説明
project_idstring必須書き出し先の BigQuery プロジェクト ID
sensitivity: pii
dataset_idstring必須書き出し先の BigQuery データセット ID
sensitivity: pii
function_namestring必須書き出したテーブル関数名
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.codesaved_query.delete
scope.typeworkspace
resource.typesaved_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"
      }
    ],
    ...
  },
  ...
}

Codatum Audit Events 監査ログイベントカタログ