notebook

都内でWEB系エンジニアやってます。

GitHub ActionsでBigQueryのbqコマンドの初回実行時のメッセージ

初回のbqコマンド実行時やCI/CDでbqコマンドを使用する際、初回実行時に.bigqueryrcが存在しない場合に自動で生成してくれる

このとき、標準出力には以下のようなメッセージが出力される

Welcome to BigQuery! This script will walk you through the 
process of initializing your .bigqueryrc configuration file.

First, we need to set up your credentials if they do not 
already exist.

Setting project_id sample-111111 as the default.

BigQuery configuration complete! Type "bq" to get started.

そのため、bq queryコマンドなどを実行し、その結果を利用する場合には、このメッセージも含まれてしまい想定と違う結果になるということがある

たとえば--format jsonでJSON形式の出力をし、その結果をjqで処理する場合など、parseエラーが発生する

今回は、この問題を解決するための対策について

.bigqueryrcを事前に用意する

.bigqueryrcファイルを事前に用意することで、上記のメッセージを出力することなくbqコマンドを実行できる

特に指定がない場合は$HOME/.bigqueryrcから読み込む

ローカル環境では、このファイルに何らかの記述があるかと思う

設定ファイルの場所を指定する

GitHub Actions で .bigqueryrcファイルを指定する場合、リポジトリ直下に.bigqueryrcファイルを用意して、以下のいずれかの方法で指定する

環境変数で指定する

環境変数BIGQUERYRC.bigqueryrcのファイルパスを指定する

env:
  BIGQUERYRC: ./.bigqueryrc

コマンドラインオプションで指定する

bqコマンドの--bigqueryrcオプションで.bigqueryrcのファイルパスを指定する

run: |
  bq query --bigqueryrc .bigqueryrc "SELECT * FROM hoge"

終わり

よく使う割にしっかり追っていなかったBigQueryの設定ファイルについてあらためて調べた

よく使うオプションとかは入れておくと良さそう

--use_legacy_sql=falseとかは入れておこうと思った

  • 参考

bq コマンドライン ツールの使用  |  BigQuery  |  Google Cloud

cloud.google.com

プロジェクトの.bigqueryrcの設定 · sacre

dream-yt.github.io