初回の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
とかは入れておこうと思った
- 参考