RedashのAPI活用事例 / Use cases of Redash API
by
inodra
×
Copy
Open
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Slide 1
Slide 1 text
RedashのAPI活用事例 株式会社ココラブル 井上竜輝
Slide 2
Slide 2 text
自己紹介 ◆ 井上竜輝 ◆ 株式会社ココラブル所属 ◆ 広告APIを利用した広告運用の業務効率や自動化の ツール開発が主な業務 ◆ Redash歴 1年
Slide 3
Slide 3 text
アジェンダ ◆ RedashのAPIで出来ること ◆ RedashのAPI活用事例(2つほど) ◆ まとめ
Slide 4
Slide 4 text
RedashのAPIで出来ること
Slide 5
Slide 5 text
RedashのAPIで出来ること ◆ Redashで操作出来るほとんどのことはAPIで出来る ◆ クエリの実行や結果の取得 ◆ グループやユーザ操作 ◆ アラート情報の取得 ◆ その他色々
Slide 6
Slide 6 text
例1: Redashのクエリを取得する ◆ 各クエリのIDや名前、クエリ内容、作成者などのクエリ情報を一括で 取得することができる ◆ /api/queries/1?api_key=APIキー のようにクエリIDを渡して一つの クエリのみを取得することも可能
Slide 7
Slide 7 text
No content
Slide 8
Slide 8 text
例2: RedashのクエリID10の結果を取得する ◆ クエリ内容、結果を取得することができる ◆ results.csv と渡せばCSV形式での取得も可能
Slide 9
Slide 9 text
No content
Slide 10
Slide 10 text
ドキュメント ◆ API認証や使用例について記載 ◆ https://redash.io/help/user-guide/integrations-and-api ◆ 使用例としてスプレッドシートでの使用方法やSlackBotでの投稿に触れている ◆ サンプル数は少なめ ◆ エンドポイント ◆ redash/handlers/api.py ◆ 一番信用できて情報が多いのでここを見ると良さそう ◆ 詳細は各エンドポイントの実装を確認
Slide 11
Slide 11 text
RedashのAPI活用事例
Slide 12
Slide 12 text
事例その1
Slide 13
Slide 13 text
背景と課題 ◆ 背景 ◆ 広告運用者はRedashをデータソースとして使っている ◆ Excelでデータ落として加工してレポート作成をしている ◆ 課題 ◆ パラメータを変えた複数のクエリ結果をエクスポートするのが手間 ◆ 同じ作業の繰り返しが見受けられる
Slide 14
Slide 14 text
アプローチ -クエリ結果を取得してスプレッドシートやSlack出力- ◆ 1. Redashのクエリ結果をAPIで取得する ◆ 2. 取得したクエリ結果を必要なカラムのみ抽出または加工 ◆ 3. そのデータをスプレッドシートまたはSlackへ出力
Slide 15
Slide 15 text
使用した主なライブラリ ※実装はPythonです ◆ pandas ◆ redash-dynamic-query ◆ pandash ◆ google-api-python-client ◆ python-slackclient
Slide 16
Slide 16 text
事例その2
Slide 17
Slide 17 text
背景と課題 ◆ 背景 ◆ 既存クエリの改修が頻繁に発生する ◆ 複数人でRedashを運用している ◆ 課題 ◆ いつどのような変更をしたのか見れないことが何気に不便
Slide 18
Slide 18 text
アプローチ -クエリを取得してバックアップや差分管理を行う- ◆ 1. RedashのクエリをAPIで取得する ◆ 2. 取得したクエリ内容をファイルに書き出しGit管理 ※ また、書き出したファイルに対して「DBのどのテーブルを使っているか」 など、スクリプトを組むことでクエリの解析が容易にできる
Slide 19
Slide 19 text
使用した主なライブラリ ◆ redashman
Slide 20
Slide 20 text
まとめ
Slide 21
Slide 21 text
APIを活用することで… ◆ Redashのデータと連携したツール開発が容易に実現可能 ◆ データの持ち方はRedashに任せ、複雑なデータ加工や分析はPandasなどで好きに出来る ◆ Redashで解決されるデータ抽出などの業務を、さらにAPIによって自動化することで、 業務改善や効率化を進めることができる ◆ Redashを運用する上で発生する課題も、APIを活用することで解決できる