Tableau Developers Club Season 2 /*TableauのAPIすべて*/ REST API編 #1

Tableau Developers Club Season 2 /*TableauのAPIすべて*/ REST API編 #1

2019-02-04 10:50 Tableau Developers Club 更新

イベント当日のスライド

【スライド1】Tableau Developers Club Season2 /*TableauのAPIすべて*/ Tableau Server REST API Works Takamasa Koimai@Sirius Data Science, Aki Iimura@Tableau
【スライド2】ピタゴラAPIのすゝめ ー APIの組み合わせ利用でできること - Katsuyuki Omata@Macromill

【スライド1】Tableau Developers Club Season2 /*TableauのAPIすべて*/ Tableau Server REST API Works

Takamasa Koimai@Sirius Data Science, Aki Iimura@Tableau

シリウスデータサイエンスの小今井さん、Tableauの飯村さんからREST APIについてご説明いただきました。 資料の前半が概要、後半はワークショップの資料となっております。

【スライド2】ピタゴラAPIのすゝめ ー APIの組み合わせ利用でできること -

Katsuyuki Omata@Macromill

マクロミルの小俣さんにAPIの活用事例について講演いただきました。 REST API, Extensions API, Tabpy, Extract APIを組み合わせた事例です。

イベント会場の様子

  • 今回も多くの方にご参加いただきました! 冒頭は小今井さん!
  • 小俣さんのAPIの組み合わせの事例のライトニングトークです。
  • TableauのAkiさんにはTSC(Tableau Server Client python モジュール)を使ったワークショップを開催いただきました。
  • 終了後は懇親会! 頭を使った後の食事は美味しいですね♪
  • 今回も多くの方に懇親会に参加いただきました!
  • いい笑顔♪ 楽しそうな雰囲気が伝わってきますね。
  • 最後にAkiさんからひとこと
  • 真剣に聞くみなさま 配列みたいにきれいに一直線に並んでいます。
  • 集合写真はDevelopersの"d"のポーズ!

イベント主催者からのコメント

今回はREST APIをテーマに3名の方に登壇いただきました。

■アジェンダ

+ 第一部 : 小今井さん@シリウスデータサイエンス
 1. Introduction
 2. 簡単な動作と説明

+ 第二部  : ライトニングトーク:小俣さん@マクロミル
 3. 事例紹介

+ 第三部 : Akiさん@Tableau
 4. TSC(Tableau Server Client python モジュール)を使ったワークショップ

 

■第一部 by 小今井さん

REST APIを活用することでTableau Serverの操作をAPIで自動化することが可能です。
イメージしやすい例だとユーザ作成や権限変更などですね。

大まかな流れは以下の通りで、Tableau Serverを操作する時と同様です。

  1. サインイン
  2. 各処理を実施
    例:ユーザリスト取得
    curl "http://<Tableau Server>/api/<APIのバージョン>/sites/<サイトID>/users" -X GET -H "X-Tableau-Auth: <認証トークン>"
  3. サインアウト

【参考】API Reference 

https://onlinehelp.tableau.com/current/api/rest_api/en-us/REST/rest_api_ref.htm

※注意事項

  • 古いバージョンのAPIから新しいバージョンのTableau Serverへはアクセスできません

 

■第二部 by 小俣さん

冒頭はマクロミル様のご紹介。

マクロミル様はマーケティングデータを戦略的にビジネスへ活用させる仕組みづくりから環境構築まで対応いただけるそうです。

今回の事例では、ユーザの所属するグループの一覧を表示させました。

  • Extensions APIでボタンを配置
  • Tabpyの処理内で結果を別ファイルとして出力する
    • REST API + Pandas 
    • Extract APIで抽出
    • REST APIでServerにパブリッシュ
  • 出力したファイルを新しいデータソースとして読み込む
  • 描画

ひとつひとつは基本的な機能なのかもしれないですが、、複数のAPIの機能を組み合わせて活用されており総合的な技術力の高さが伝わってきました。

※注意事項

  • TabpyはList型で返さなければならない(以前、外部連携の際に岩橋さんも仰ってましたね)
     

■第三部 by akiさん

最後は、TSC(Tableau Server Client python モジュール)を活用したワークショップでした。

TSCとは「サインイン」「サイト一覧取得」など有用なメソッドを提供するPythonのライブラリです。

インストールは"pip install tableauserverclient" のコマンドを実行するだけなのでとても簡単です。

ワークショップでは以下の処理ををREST APIで実施すると共にデバッグについても紹介いただきました。

  • サーバーへ接続
  • ワークブック一覧取得
  • サイトユーザ一覧取得
  • ロール変更

例えばワークブック一覧を取得するためのコードは以下のようになります。

with server.auth.sign_in(tableau_auth):
  all_workbooks, pagination_item = server.workbooks.get() ・・・get()メソッドでワークブック一覧リストを取得
  for wb in all_workbooks:・・・1つずつ取得して出力
    print(wb.name)
    print(wb.id)
 

以上です。

最後までお読みいただきありがとうございました!また次回 (2/7) のDevelopers Clubでお会いしましょう♪