シェルパイプラインに組み込む
Queria CLI の出力を jq や cron、CI に流し込んでデータ取得を自動化する
Queria CLI は stdout の形式を --format で切り替えられるため、Unix パイプ・cron・CI にそのまま組み込めます。手元の分析からデータ取得の自動化まで、シェルの道具立てがそのまま使えます。
jq と組み合わせる
--format jsonl は1行1レコードの JSON なので、ストリーム処理と相性が良い形式です:
queria sql "
SELECT DISTINCT area_name, value AS population
FROM e_stat.ssds.a_pref_population
WHERE item_name = 'A1101_総人口' AND year = 2024
" --format jsonl | jq -r 'select(.population > 5000000) | .area_name'
まとめて1つの配列として受け取りたい場合は --format json を使います:
queria list --format json | jq '.[].datasource'
Markdown をドキュメントに貼る
--format markdown の出力はそのまま README や記事、PR の説明に貼れます:
queria sql "..." --format markdown >> report.md
cron で定期スナップショット
日付入りのファイル名で --out に書き出せば、定点観測のスナップショットが貯まっていきます:
#!/usr/bin/env bash
set -euo pipefail
queria sql "
SELECT area_name, value AS population
FROM e_stat.ssds.a_pref_population
WHERE item_name = 'A1101_総人口' AND year = 2024
" --out "snapshots/pop_$(date +%F).parquet"
0 6 * * 1 /home/you/bin/weekly-snapshot.sh
CI から使う
API トークンは QUERIA_TOKEN 環境変数で渡せます(--token フラグはこれを上書きします)。匿名アクセスにはレートリミットがあるため、定期実行にはトークンの設定を推奨します。GitHub Actions なら:
env:
QUERIA_TOKEN: ${{ secrets.QUERIA_TOKEN }}
トークンの発行と管理は認証を参照してください。
覚えておくと良いこと
- 大きな結果は stdout ではなく
--outに書き出す(形式は拡張子で決まります) - 手元のファイルとの掛け合わせは「ローカルデータと掛け合わせる」を参照
