BigQuery に、データセットとテーブルへ付与する IAM タグ(Resource Manager Tag)を SQL から直接操作できる機能 が追加されました。(Release Note)
タグをコードで扱えるようになり、環境やデータ種別ごとに一貫したメタデータ管理が可能になります。本記事では機能範囲と SQL 操作例のみを簡潔にまとめます。
1. 機能概要
項目 | 内容 |
---|---|
対象リソース | データセット、テーブル(ビューを含む) |
主な SQL 構文 |
ALTER SCHEMA … SET OPTIONS /ALTER TABLE … SET OPTIONS
|
操作 |
tags = […] 全置換・tags += […] 追加・tags -= […] 削除 |
前提 | タグキー/タグ値の作成は Cloud Resource Manager API、gcloud、Terraform 等で実施 |
2. 事前設定
-
API 有効化
gcloud services enable cloudresourcemanager.googleapis.com
-
タグキー・タグ値の作成例
- タグキー:
env
- タグ値:
prod
作成方法→公式ドキュメント
- 必要ロール
いかのいずれか
- BigQuery データオーナー (
roles/bigquery.dataOwner
) - BigQuery 管理者 (
roles/bigquery.admin
)
3. SQL 操作例
-- データセットにタグを上書き
ALTER SCHEMA `my-project.analytics`
SET OPTIONS (
tags = [('my-project/env','prod')]
);
-- テーブルにタグを追加
ALTER TABLE `my-project.analytics.sales`
SET OPTIONS (
tags += [('my-project/env','prod')]
);
-- テーブルからタグを削除
ALTER TABLE `my-project.analytics.sales`
SET OPTIONS (
tags -= [('my-project/env','prod')]
);
実際に実行した場合はこのようになります。
タグ付与の結果は、データセットの場合はINFORMATION_SCHEMA.SCHEMATA_OPTIONS
、テーブルの場合はINFORMATION_SCHEMA.TABLE_OPTIONS
で確認できます。
4. 所感と留意点
観点 | メモ |
---|---|
メリット | * SQL だけでメタデータを管理できるため、Git による変更履歴がしやすい。 |
注意点 | * タグキー/値の作成は SQL では行えない。 |
5. まとめ
- 2025-06-16 から、BigQuery リソースに対して
ALTER … SET OPTIONS (tags …)
構文が利用可能。 - タグ管理をデータ定義と同じリポジトリに収められるため、CI/CD パイプラインでの自動反映が容易。
- 導入初期は
env
やpii
などシンプルな軸だけに絞ると運用を保守しやすい。
以上、タグ操作機能の動作確認メモでした。