BigQuery Data Transfer Service イベントドリブン転送を検証する
はじめに
BigQuery Data Transfer Service は決められたタイミングでの BigQuery へデータ移行を自動化するサービスです。
移行する頻度に「イベントドリブン」が追加されたので、実際に使用してみようと思います。
2025/12 現在、イベントドリブンが使えるデータソースは Cloud Storage のみとなっています。
また、一度イベントが発生すると、次回の実行まで最大10分待機時間が発生します。待機時間が気になる場合は Storage Write API を使うことが推奨されています。
設定
Pub/Sub を初めて使う場合は、Pub/Sub API を有効化します。
転送設定の作成
BigQuery の「データ転送」から、「転送を作成」を押下します。
「ソースのタイプ」に「Google Cloud Storage」を選びます。
「繰り返しの頻度」に「イベントドリブン」を選びます。
「Pub/Sub サブスクリプション」を選びます。今回は新規で作成するので「サブスクリプションの作成」を選びます。
「サブスクリプションの作成」を選ぶとパネルが表示されます。
サブスクリプションID、トピックIDは(おそらく)ランダムな値が入力されるので、必要であれば変更します。
転送先の設定にて、「データセット」を選択します。
Cloud Storage のデータを格納したいデータセット名を選択します。
データソースの詳細を設定します。
「Destination table」に、Cloud Storage のデータを格納したいテーブル名を入力します。
「Cloud Storage URI」では、イベントを検知したいバケットとファイルを指定します。「<Bucket名>/<ファイル名>」形式で入力、ワイルドカードが使用できます。
「Write preference」では書き込み設定を選べます。今回はデータ追加の「APPEND」を選びました。
その他はデフォルトのまま、転送設定を作成します。
権限の追加&確認
IAM に移動します。
BigQuery Data Transfer Service エージェント service-<project_number>@gcp-sa-bigquerydatatransfer.iam.gserviceaccount.com に以下2つの権限を付与・確認をします。
- BigQuery Data Transfer Service エージェント(デフォルトで付与済み)
- Pub/Sub サブスクライバー(新たに付与)
次に Pub/Sub へ移動します。
転送設定で作成した Pub/Sub のサブスクリプションの情報パネルを開き、Pub/Sub サブスクライバーに BigQuery Data Transfer Service エージェント が割り当てられていることを確認します。
必要な設定は以上です。
動作確認
「Cloud Storage URI」で指定したバケットにファイルを配置すると、2-3分経った後イベントが発生し、画像のようなログが追加されました。
以上です。
誰かの参考になれば幸いです。









