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を活用することで解決できる