💨

Redash のエクスポート方法

2021/07/20に公開

Hosted Redash End of Life を受けてエクスポートを実施する
https://redash.io/help/faq/eol

エクスポートツールとしてはオフィシャルで用意されているのが下記
https://redash.io/help/user-guide/integrations-and-api/api

https://github.com/getredash/redash-toolbelt
を使うようになっているのでひとまず手元に持ってくる。

git clone git@github.com:getredash/redash-toolbelt.git

pythonで実行すれば動きそうなのですが、依存ライブラリがないため動きませんでした。poetryというツールで依存ライブラリ管理をしているのでセットアップします。

curl -sSL https://raw.githubusercontent.com/python-poetry/poetry/master/install-poetry.py | python -

https://github.com/python-poetry/poetry

インストール先にパスを通すとpoetryコマンドが使えますが、一回しか実行しなそうだったのでフルパス指定する形で進めていきました。サンプルコードはpoetryで記述します。

poetry install すると依存ライブラリがインストールできそうなのですが、失敗したのでpoetry update をしてから poetry install をしました。おそらく次の issue が関係しています。
https://github.com/getredash/redash-toolbelt/issues/34

poetry run python ./redash_toolbelt/examples/query_export.py 'url' --api-key "<api-key>"

にてエクスポートができました。

注意点としては引数としてURLを渡すことです。query_export.py --redash-url "https://app.redash.io/<slug>" --api-key "<api-key>" のように書いている記事もあったのですが、これでは動きませんでした。


他にも下記のツールなどあるようですが、ひとまずオフィシャルツールでやってみました。
https://github.com/oieioi/redash_exporter


なお Hosted Redash から Self-Host Redash への移行スクリプトは下記で進行中とのこと。
https://github.com/getredash/redash-toolbelt/pull/23

Discussion