Redash CLIで役立ったコマンド

この記事は、Redash Advent Calendar 2018 18日目です。

データ活用を全社的に推進するために、今年から社内にRedashを導入しました。
幸いにもカスタマーサポートチームにSQLの経験者がいたため、比較的スムーズに普及し、多くのメンバーに毎日よく使っていただけています。

Redashのユーザ数が増えてくるにつれ、通常よりも細かい設定や、各グループの詳しい情報の確認など、ブラウザだけではできないことをやる機会も多くなりました。
こんなときに役立つのがCLI機能なのですが、どういうわけか公式サイトには全くドキュメントがないため、Redashを使い始めたばかりの方はCLIの存在すら知らないかもしれません。
そこでこの記事では、Redash CLIで特によく使っているコマンドをまとめてみたいと思います。
なお会社で使っているバージョンは4.0.1です。 もう6.0が出ちゃったぞ...

コマンドの基本

基本的には、以下のような形式でコマンドを実行できます。

cd /opt/redash/current
sudo -u redash ./bin/run ./manage.py <実行したいコマンド>

send_test_mail: テストメールを送る

sudo -u redash ./bin/run ./manage.py send_test_mail <送信先のメールアドレス>

Redashから任意のアドレスにテストメールを送ることができます。
うちの会社ではAmazon SESを通じてメールを配信しているのですが、設定するときに相当ハマってしまい、招待メールが届かなくなるというトラブルも何度か起こりました...
そんなとき、テストメールを送るコマンドを使うことで、今メール送信を正常に行えるかどうかを自分のアドレスだけで素早く確かめることができ、とても助かりました。

groups list: グループの詳細を確認する

sudo -u redash bin/run ./manage.py groups list

今postgresに登録されているグループ情報を一覧で見られます。後述するchange_permission等で必要な、グループのidもここで確認できます。
ちなみにv5まではid・名前・タイプ・組織名しか見られませんが、権限も見られるようにしたい!と思ってプルリクを送り、v6.0からリリースされました。

github.com

groups change_permissions: グループの権限を細かく調整する

sudo -u redash bin/run ./manage.py groups change_permissions --permissions <設定したい権限の一覧> <グループのid>

もっともよく使っているコマンドです。GUIからは Full AccessView Only の2種類しか選べませんが、CLIを使うともっと細かく権限を設定できます。
詳しくは以前書いた記事も参照してください。

udomomo.hatenablog.com

users list: ユーザを一覧表示する

sudo -u redash bin/run ./manage.py users list | grep <氏名・メールアドレス等>

v4.0.1のUsers画面にはユーザ検索機能がないため、ユーザの人数が多くなると「あの人アカウントあったっけ?」と迷うことが増えました。
そんなとき私の場合は、grepコマンドと組み合わせて検索するということをよくやっていました。
postgresの中に入ってクエリを叩いてもいいのですが、簡単な検索であれば個人的にはCLI上で完結させる方が楽です。

その他のコマンド

Githubcliディレクトリで確認できます。ただしバージョンが古いと使えないものも混じっているかもしれません。

redash/redash/cli at master · getredash/redash · GitHub

Redash CLIは今まであまり開発されてこなかったようで、まだまだ欲しいコマンドがたくさんあります。例えば複数人に一括で招待を送る機能とか...
何かアイデアがあれば、ぜひプルリクを送ってみましょう!