0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

BigQueryのスケジュールドクエリをCLIで一括出力する方法

0
Posted at

はじめに

BigQueryを活用していると、データパイプラインの自動化のためにスケジュールドクエリの数がどんどん増えていきます。

「あの時に設定したクエリはどこだっけ?」 「特定のデータセットに書き込んでいるスケジュールクエリを一覧で見たい」

...といった場合に、Google Cloudコンソール(管理コンソール)のWeb UIから一つずつ探すのは大変です。スケジュールクエリの数が多い場合、コンソールでは一覧性が悪く、目的のクエリを見つけるのに手間取ってしまいます。

本記事では、この課題を解決するために、BigQuery Data Transfer API を使用し、curl を組み合わせて、スケジュールドクエリの情報を一括で取得し、CSV形式で出力する方法を解説します。

スケジュールドクエリを一括出力する方法

BigQueryのスケジュールドクエリは、BigQuery Data Transfer Service のリソースとして管理されています。これらの一覧は、Data Transfer APIのエンドポイントを curl で取得します。

使用するコマンド

以下のコマンドを実行することで、指定したプロジェクト内のすべてのスケジュールドクエリ(Data Transferの設定)の情報を取得し、CSV形式で整形して出力できます。

curl -H "Authorization: Bearer $(gcloud auth print-access-token)" \
  "https://bigquerydatatransfer.googleapis.com/v1/projects/$PROJECT-ID/locations/$LOCATION/transferConfigs" \
  | jq -r '.transferConfigs[] | [.displayName, .name, .params.query] | @csv' > $file_name.csv

実行結果

上記のコマンドを実行すると、$file_name.csv というファイルが生成されます。

このCSVファイルを開けば、スケジュールドクエリの表示名、リソース名、クエリ本文などが一覧で確認できます。特に「クエリ本文」や「表示名」でフィルタリングや検索を行えば、目的のスケジュールクエリを容易に見つけ出すことが可能になります。

参考

BigQuery Data Transfer Service
Method: transferConfigs.list

まとめ

一括出力されたCSVファイルを活用すれば、管理コンソールから一つずつ探す手間がなくなり、目的のスケジュールクエリを素早く見つけ出すことが可能になります。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?